qt 标准对话框
2016-06-15 15:21
375 查看
if (QMessageBox::Yes == QMessageBox::question(this, tr("Question"),
tr("Are you OK?"),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::Yes))
{
QMessageBox::information(this, tr("Hmmm..."), tr("I'm glad to hear that!"));
} else {
QMessageBox::information(this, tr("Hmmm..."), tr("I'm sorry!"));
}
QMessageBox msgBox;
msgBox.setText(tr("The document has been modified."));
msgBox.setInformativeText(tr("Do you want to save your changes?"));
msgBox.setDetailedText(tr("Differences here..."));
msgBox.setStandardButtons(QMessageBox::Save
| QMessageBox::Discard
| QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
switch (ret) {
case QMessageBox::Save:
qDebug() << "Save document!";
break;
case QMessageBox::Discard:
qDebug() << "Discard changes!";
break;
case QMessageBox::Cancel:
qDebug() << "Close document!";
break;
}
tr("Are you OK?"),
QMessageBox::Yes | QMessageBox::No,
QMessageBox::Yes))
{
QMessageBox::information(this, tr("Hmmm..."), tr("I'm glad to hear that!"));
} else {
QMessageBox::information(this, tr("Hmmm..."), tr("I'm sorry!"));
}
QMessageBox类的 static 函数优点是方便使用,缺点也很明显:非常不灵活。我们只能使用简单的几种形式。为了能够定制
QMessageBox细节,我们必须使用
QMessageBox的属性设置 API。如果我们希望制作一个询问是否保存的对话框,我们可以使用如下的代码:
QMessageBox msgBox;
msgBox.setText(tr("The document has been modified."));
msgBox.setInformativeText(tr("Do you want to save your changes?"));
msgBox.setDetailedText(tr("Differences here..."));
msgBox.setStandardButtons(QMessageBox::Save
| QMessageBox::Discard
| QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
switch (ret) {
case QMessageBox::Save:
qDebug() << "Save document!";
break;
case QMessageBox::Discard:
qDebug() << "Discard changes!";
break;
case QMessageBox::Cancel:
qDebug() << "Close document!";
break;
}
相关文章推荐
- 一个基于Qt的截屏程序
- DBus编译出错 ----QT中dbus所依赖的一个库
- Qt之字体文件(TTF)
- Qt之字体文件(TTF)
- How to use Qt’s QSortFilterProxyModel
- Qt child widget stop inherit parent widget image(Qt子窗体stylesheet不继承父窗体stylesheet)
- Qt的tr函数和中文乱码处理
- ubuntu下Qt编译报错 cannot find -lGL
- MQTT协议在nodejs中的使用
- QT 子窗口—>主窗口 信号和槽的交互
- 【转】Qt中的QString,QByteArray,Qchar, char*
- Qt事件系统
- Qt Dll总结(二)——创建及使用Qt的Dll(转载)
- 树莓派安装QT
- Qt Dll总结——链接库预备知识(转载)
- qt编译时, make:警告:检测时钟错误。您的创建可能是不完整的。
- Qt之QtSoap(访问WebService)
- Qt之QtSoap(访问WebService)
- qt生成的exe可执行程序打包到其他电脑上执行时jpg、gif图片不能正常显示,但png等其他格式可以显示
- Windows程序安装包制作——Qt Installer Framework