先说说QMessageBox::about吧
void MainWindow::on_action_22_triggered() { QMessageBox::about(this,tr("作者信息以及版权声明"),tr("<h2>晖源建材行财务管理系统 2.0</h2>""<p>Copyright © 2010 蔡圣缝. All rights reserved.""<p>晖源建材行财务管理系统由蔡圣锋基于QT 4.7.0独立开发完成,完全遵循LGPL协议。本软件仅允许晖源建材行免费作为商业应用,对于其它用户在未经作者允许的情况下不得作为商业用途。<p><h3>软件作者:蔡圣锋<br>邮箱:[email protected]</h3><p>本软件有多个平台的版本包含linux,mac和windows。")); }
这是一个菜单栏的控件单击事件代码
QMessageBox::about函数原型是
static void about(QWidget *parent, const QString &title, const QString &text);
第一个参数是指该对话框的父控件,第二个是一个QString类型的字符串,用于about窗口的标题,第三个是QString类型的字符串,用于about窗口显示的文本信息。about窗口函数没有按钮的参数,只有默认的一个确认按钮。
其它的一些提示框的窗口函数也是类似的,如下所示
static StandardButton information(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton); // ### Qt 5: Replace Ok with Yes|No in question() function. // Also consider if Ok == Yes and Cancel == No. static StandardButton question(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton); static StandardButton warning(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton); static StandardButton critical(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton); static void about(QWidget *parent, const QString &title, const QString &text); static void aboutQt(QWidget *parent, const QString &title = QString());
其中information,question,warning,critical有两个按钮 但无法自定义图片。
这是一个简单的使用示范
QMessageBox::warning(this,tr("出错警告"),tr("请输入密码"),tr("确定"));
最后的确定是指按钮显示的信息,可以自己任意设置
要定义图片的话 可以自己实例一个QMessageBox类
QMessageBox(Icon icon, const QString &title, const QString &text, StandardButtons buttons = NoButton, QWidget *parent = 0, Qt::WindowFlags flags = Qt::Dialog | Qt::MSWindowsFixedSizeDialogHint);