На этом шаге мы рассмотрим назначение этого класса, иерархию наследования, форматы конструктора.
Класс QMessageBox реализует стандартные окна-предупреждения для вывода сообщений. Иерархия наследования:
(QObject, QPaintDevice) - QWidget - QDialog - QMessageBox
Форматы конструктора класса QMessageBox:
<Объект> = QMessageBox([parent=None]) <Объект> = QMessageBox(<Иконка>, <Текст заголовка>, <Текст сообщения>[, buttons=NoButton][, parent=None][, flags=Dialog | MSWindowsFixedSizeDialogHint])
Если в параметре parent указана ссылка на родительское окно, диалоговое окно будет центрироваться относительно родительского окна, а не относительно экрана. Параметр flags задает тип окна (см. 25 шаг). В параметре <Иконка> могут быть указаны следующие атрибуты класса QMessageBox:
В параметре buttons указываются следующие атрибуты (или их комбинация через оператор |) класса QMessageBox:
После создания экземпляра класса следует вызвать метод exec() (или оставленный для совместимости со старыми версиями PyQt метод ехес_(), чтобы вывести окно на экран. Метод возвращает числовое обозначение нажатой кнопки. Пример:
dialog = QtWidgets.QMessageBox(QtWidgets.QMessageBox.Critical, "Текст заголовка", "Текст сообщения", buttons=QtWidgets.QMessageBox.Ok QtWidgets.QMessageBox.Cancel, parent=window) result = dialog.exec()
На следующем шаге мы рассмотрим основные методы и сигналы.