На этом шаге мы рассмотрим метод для создания окна такого вида.
Для вывода окна с предупреждающим сообщением предназначен статический метод warning(). Формат метода:
warning(<Родитель>, <Текст заголовка>, <Текст сообщения>[, buttons=Ok][, defaultButton=NoButton])
В параметре <Родитель> указывается ссылка на родительское окно или значение None. Если указана ссылка, то диалоговое окно будет центрироваться относительно родительского окна, а не относительно экрана. Необязательный параметр buttons позволяет указать выводимые стандартные кнопки (атрибуты, задающие стандартные кнопки, указываются через оператор |). По умолчанию отображается кнопка ОК. Параметр defaultButton назначает кнопку по умолчанию. Метод warning() возвращает числовое обозначение нажатой кнопки. Пример:
# -*- coding: utf-8 -*- from PyQt5 import QtWidgets import sys def on_clicked(): QtWidgets.QMessageBox.warning(None, "Текст заголовка", "Действие может быть опасным. Продолжить?", buttons=QtWidgets.QMessageBox.Yes | QtWidgets.QMessageBox.No | QtWidgets.QMessageBox.Cancel, defaultButton=QtWidgets.QMessageBox.Cancel) app = QtWidgets.QApplication(sys.argv) button = QtWidgets.QPushButton("Вызвать окно") button.resize(200, 40) button.clicked.connect(on_clicked) button.show() sys.exit(app.exec_())
Результат выполнения этого кода показан на рисунке 1.
Рис.1. Окно с предупреждающим сообщением
На следующем шаге мы рассмотрим создание окна с критическим сообщением.