C++ 在QMessageBox中,图标能否居中于文本上方?

C++ 在QMessageBox中,图标能否居中于文本上方?,c++,qt,qt5,qmessagebox,C++,Qt,Qt5,Qmessagebox,我是Qt的新手,通过在Qt中构建应用程序,我玩得很开心。我制作了下面的QMessageBox作为对About MyGreatApp菜单项的响应,您可以看到该菜单项同时具有图标和文本 图标和文本可以相互定位吗?特别是:图标可以居中于文本上方吗 void MainWindow::about() { QMessageBox msgAbout; msgAbout.setInformativeText("<span style='text-align: center'><

我是Qt的新手,通过在Qt中构建应用程序,我玩得很开心。我制作了下面的QMessageBox作为对About MyGreatApp菜单项的响应,您可以看到该菜单项同时具有图标和文本

图标和文本可以相互定位吗?特别是:图标可以居中于文本上方吗

void MainWindow::about()
{
    QMessageBox msgAbout;
    msgAbout.setInformativeText("<span style='text-align: center'><p><b><font size = 20>My Great Application</font><p><font size = 10>Version 100.1</font><p><font size = 10>by Me</font><p>Copyright © Me, 1848–2018. All rights reserved.</span><span style='text-align: left'><p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</span><p>");
    QPixmap pixAbout;
    pixAbout.load(":/Info.png");
    msgAbout.setIconPixmap(pixAbout);
    msgAbout.setStandardButtons(QMessageBox::Ok);
    msgAbout.setDefaultButton(QMessageBox::Ok);
    msgAbout.exec();
}
void主窗口::关于()
{
QMessageBox-msgAbout;
msgAbout.setInformativeText("我的伟大应用100.1版由我编写版权所有©我,1848-2018。保留所有权利。Lorem ipsum dolor sit amet,Concetetetur Adipising Elite,sed do eiusmod Temporal Incidedut ut Labor and dolore magna aliqua.但我不愿意,我不愿意,我不愿意,我不愿意,我不愿意,我不愿意,我不愿意,我不愿意,我不愿意,我不愿意,我不愿意,我不愿意除非偶尔出于不谨慎的原因,否则不应将动物作为劳动的罪魁祸首。”;
QPixmap-pixAbout;
pixAbout.load(“:/Info.png”);
msgAbout.setIconPixmap(pixAbout);
设置标准按钮(QMessageBox::Ok);
msgAbout.setDefaultButton(QMessageBox::Ok);
msgAbout.exec();
}
macOS 10.13.3

Qt Creator 4.5基于Qt 5.10.0(Clang 7.0(Apple),64位)

您可以在html中设置它,但必须传递
qresource
中的图像路径,因此必须使用
qrc:

QMessageBox msgAbout;
const QString message = "<p style='text-align: center;'><img src='qrc://Info.png' alt='' width='42' height='42'></p>"
                        "<p style='text-align: center;'><strong>My Great Application</strong></p>"
                        "<p style='text-align: center;'>Version 100.1</p>"
                        "<p style='text-align: center;'>by Me</p>"
                        "<p style='text-align: center;'>Copyright &copy; Me, 1848&ndash;2018. All rights reserved.</p>"
                        "<p style='text-align: center;'>&nbsp;</p>"
                        "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>";

msgAbout.setInformativeText(message);
msgAbout.setStandardButtons(QMessageBox::Ok);
msgAbout.setDefaultButton(QMessageBox::Ok);
msgAbout.exec();
QMessageBox-msgAbout;
const QString message=“

我伟大的应用程序

” “

由我

” “

" “Lorem ipsum door sit amet,一位杰出的领导者,他是一位临时劳工和大股东。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除了偶尔出于谨慎,不能因疏忽而导致动物死亡。

“; msgAbout.setInformativeText(消息); 设置标准按钮(QMessageBox::Ok); msgAbout.setDefaultButton(QMessageBox::Ok); msgAbout.exec();

为了更好地查看,我们可以在右侧留一个边距:

QMessageBox msgAbout;
const QString message = "<p style='text-align: center;'><img src='qrc:/Info.png' alt="" width='42' height='42' /></p>"
                        "<p style='text-align: center;'><strong>My Great Application</strong></p>"
                        "<p style='text-align: center;'>Version 100.1</p>"
                        "<p style='text-align: center;'>by Me</p>"
                        "<p style='text-align: center;'>Copyright &copy; Me, 1848&ndash;2018. All rights reserved.</p>"
                        "<p style='text-align: center;'>&nbsp;</p>"
                        "<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p>";

msgAbout.setInformativeText(message);
msgAbout.setStandardButtons(QMessageBox::Ok);
msgAbout.setDefaultButton(QMessageBox::Ok);

QGridLayout *lay = msgAbout.findChild<QGridLayout *>();
QMargins margins = lay->contentsMargins();
margins.setRight(40);
lay->setContentsMargins(margins);
msgAbout.exec();
QMessageBox-msgAbout;
const QString message=“

我伟大的应用程序

” “

由我

” “

" “Lorem ipsum door sit amet,一位杰出的领导者,他是一位临时劳工和大股东。但是,在最低限度上,我们需要一个实验室来进行日常工作。两人或两人在一个无教区的房间里互相指责。除了偶尔出于谨慎,不能因疏忽而导致动物死亡。

“; msgAbout.setInformativeText(消息); 设置标准按钮(QMessageBox::Ok); msgAbout.setDefaultButton(QMessageBox::Ok); QGridLayout*lay=msgAbout.findChild(); QMargins margins=lay->contentsMargins(); 利润率:设定权利(40); 布局->设置内容边缘(边距); msgAbout.exec();