QDialog с кнопками ОК и Отмена

Мне нужен Qt Dialog с кнопками ОК и Отмена со стандартным функционалом, расположенными справа от его макета. Мне нужно наследовать от него и добавить другие виджеты к его макету. Я могу реализовать это сам, но, возможно, есть что-то стандартное, в этом случае я предпочитаю использовать его, так как он будет более переносимым.

QMessageBox показывает сообщение, мне нужно что-то более общее, только QDialog и стандартные кнопки, или, возможно, у QDialog есть опция, которая активирует их.

3 ответа

Решение

Подкласс QDialog и использовать QDialogButtonBox для стандартных кнопок ( документов).

Как бы то ни было, вам не нужно создавать подклассы 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();

Если вы используете QT Designer, на learnpyqt.com есть этот хороший учебник, в котором описывается, как создать QDialog с несколькими полями ввода. QT Designer можно загрузить, как описано здесь, в stackoverflow в комментарии .

Другие вопросы по тегам