Отображение изображения в QmessageBox - PullRequest
3 голосов
/ 07 марта 2012

Как я могу отобразить изображение в окне сообщения. Я пытался

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();
}

Пожалуйста, также скажите мне, как можно установить размер этого изображения.

1 Ответ

8 голосов
/ 07 марта 2012

Не следует использовать 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 файл (это файл ресурсов) настроен правильно.

Дополнительную информацию вы можете получить по здесь .

...