c – 在QmessageBox中显示图像

如何在消息框中显示图像.我试过了

about.setIcon(":/pics/goku3.jpg");

但它给了我错误.我知道我可以使用内置的盒子.这是显示此框的完整代码.

void MainWindow::on_actionUmer_s_Program_triggered()
{
    QMessageBox about;

    about.setText("Umer's Program");
    about.setInformativeText("Copyright ; 2012 Umer Software Inc.\nI wrote this program     for fun.\n);
    about.setStandardButtons(QMessageBox::Ok);
    about.setIcon(":/pics/goku3.jpg");   // here is the error
    about.setDefaultButton(QMessageBox::Ok);
    about.show();
    about.exec();
}

还请告诉我如何设置该图像的大小.

解决方法:

你不应该使用about.setIcon(“:/ pics / goku3.jpg”);因为QMessageBox :: setIcon(Icon)方法仅适用于预定义的图标

QMessageBox::NoIcon
QMessageBox::Question
QMessageBox::Information
QMessageBox::Warning
QMessageBox::Critical

要加载自己的图片,您应该使用:

void setIconPixmap ( const QPixmap & pixmap )

例如:

about.setIconPixmap(QPixMap(":/pics/goku3.jpg"));

此外,如果您想使用此格式“:/pics/goku3.jpg”,请确保您正确配置了.qrc文件(这是一个资源文件).

您可以从here获得更多信息.

上一篇:c#-WPF消息框显示错误消息


下一篇:c – 如何翻译qmessagebox中的按钮?