带有确定和取消按钮的QDialog

时间:2013-06-19 12:25:28

标签: c++ qt button qdialog

我需要Qt Dialog和ok并取消具有标准功能的按钮,放置在其布局的右侧。我需要继承它并在其布局中添加其他小部件。我可以自己实现它,但也许有标准的东西,在这种情况下我更喜欢使用它,因为它会更便携。

QMessageBox显示一条消息,我需要更通用的东西,只需要QDialog和标准按钮,或者QDialog可以选择激活它们。

3 个答案:

答案 0 :(得分:6)

子类QDialog并使用QDialogButtonBox作为标准按钮(docs)。

答案 1 :(得分:1)

对于它的价值,您不需要继承Dialog的子类,那简直就是太多的工作,

阅读文档: https://doc.qt.io/qt-5/qmessagebox.html

假设您有

Header: #include <QMessageBox>
qmake:  QT += widgets

然后做:

QMessageBox msgBox;
msgBox.setText("The document has been modified.");
msgBox.setInformativeText("Do you want to save your changes?");
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();

答案 2 :(得分:0)

如果您使用 QT Designer,请访问 learnpyqt.com has this nice tutorial,其中描述了如何构建具有多个输入字段的 QDialog。 QT Designer 可以按照 here on stackoverflow in a comment 所述下载。