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 в комментарии .