Необходимые методы
Класс QMessageBox имеет множество методов для создания различных типов окон сообщений. Некоторые из наиболее часто используемых методов класса QMessageBox описаны ниже:
Имена методов | Цель |
---|---|
setTitle () | Используется для отображения настраиваемого заголовка. |
setText () | Используется для установки текста основного сообщения. |
setDetailText () | Используется для отображения окна с кнопкой подробностей; текст сообщения появится после того, как пользователь нажмет на кнопку. |
setInformativeText | Используется для отображения дополнительного сообщения. |
setIcon () | Используется для установки значка в окне сообщения в зависимости от типа сообщения. |
setWindowTitle () | Используется для установки заголовка окна сообщения. |
setDefaultButton () | Используется для установки кнопки в окне сообщения по умолчанию; кнопка выдаст сигнал щелчка, когда Входить клавиша нажата. |
setEscapeButton () | Используется для настройки работы любой кнопки как клавиши выхода; кнопка выдаст сигнал щелчка, когда Побег клавиша нажата. |
setStandardButtons () | В окне сообщения можно использовать различные стандартные кнопки в зависимости от типа сообщения, такие как ОК, Да, Нет, Отмена, Закрыть и т. Д. |
Использование QMessageBox
В следующих разделах этого руководства приведены примеры, которые покажут вам, как создавать различные окна сообщений с помощью класса QMessageBox.
Пример 1: Создание окна информационного сообщения
Следующий скрипт создаст простое информационное окно сообщения с использованием класса QMessageBox. Этот тип окна сообщения предоставляет информационное сообщение только для пользователя. ОК кнопка по умолчанию в окне сообщения. Здесь, QMessageBox.Информация используется в setIcon () способ отображения значка информации в окне сообщения.
# Импортировать необходимые модулиimport sys
из PyQt5.QtWidgets импортировать QApplication, QMainWindow, QMessageBox
# Определить класс для отображения информационного сообщения
класс MessageWindow (QMainWindow):
def __init __ (сам):
# Вызвать родительский конструктор
супер().__в этом__()
# Создаем объект messagebox
себя.msg = QMessageBox ()
# Установите значок информации
себя.сообщение.setIcon (QMessageBox.Информация)
# Установить главное сообщение
себя.сообщение.setText ("Задача успешно выполнена.")
# Установить заголовок окна
себя.сообщение.setWindowTitle ("Информационное сообщение")
# Показать окно сообщения
себя.сообщение.показывать()
# Создать объект приложения и запустить приложение
app = QApplication (sys.argv)
Win = MessageWindow ()
приложение.exec ()
Следующее окно сообщения появится после выполнения вышеуказанного скрипта.
Пример 2: Создание окна предупреждающего сообщения
Следующий скрипт создаст окно с предупреждением, используя класс QMessageBox. Этот тип окна сообщения содержит предупреждающее сообщение для пользователя. В предупреждение используется в setIcon () способ отображения значка предупреждения в окне сообщения. В ОК а также Отмена кнопки добавляются в окно сообщения с помощью setStandardButtons () метод. Пользовательский метод под названием msgButton () определен в классе для отслеживания кнопки в окне сообщения, которое было нажато пользователем. Если пользователь щелкает ОК кнопку, затем текст, "Кнопка ОК нажата,'напечатает; в противном случае 'Нажата кнопка отменытекст будет напечатан.
# Импортировать необходимые модулиimport sys
из PyQt5.QtWidgets импортировать QApplication, QMainWindow, QMessageBox
# Определить класс для отображения информационного сообщения
класс MessageWindow (QMainWindow):
def __init __ (сам):
# Вызвать родительский конструктор
супер().__в этом__()
# Создаем объект messagebox
себя.msgWarning = QMessageBox ()
# Установите значок предупреждения
себя.msgWarning.setIcon (QMessageBox.Предупреждение)
# Установить главное сообщение
себя.msgWarning.setText ("Имя переменная не определена.")
# Установите две кнопки для окна сообщения
себя.msgWarning.setStandardButtons (QMessageBox.Хорошо | QMessageBox.Отмена)
# Вызов пользовательского метода при нажатии кнопки
себя.msgWarning.buttonClicked.подключиться (самостоятельно.msgButton)
# Установить заголовок окна
себя.msgWarning.setWindowTitle ("Предупреждающее сообщение")
# Показать окно сообщения
себя.msgWarning.показывать()
# Определить функцию для кнопок
def msgButton (сам, я):
Если я.text () == '& ОК':
print ("Нажата кнопка ОК.")
еще:
print ("Нажата кнопка отмены.")
# Создать объект приложения и запустить приложение
app = QApplication (sys.argv)
Win = MessageWindow ()
приложение.exec_ ()
Следующее окно сообщения появится после выполнения вышеуказанного скрипта.
Если пользователь щелкает ОК кнопку, появится следующий вывод.
Пример 3: Создайте Вопрос Предупреждение Сообщение
Следующий скрипт создаст окно сообщения с вопросом, используя класс QMessageBox. Этот тип окна сообщения предоставляет пользователю сообщение с вопросом, чтобы выполнить определенное действие в зависимости от решения пользователя. Здесь, QMessageBox.Вопрос используется в setIcon () способ отображения значка вопроса в окне сообщения. В да а также Нет кнопки добавляются в окно сообщения с помощью setStandardButtons () метод. В Нет кнопка устанавливается как кнопка по умолчанию с помощью метода setDefaultButton (). Пользовательский метод под названием msgButton () определен в классе для отслеживания кнопки в окне сообщения, которое было нажато пользователем.
# Импортировать необходимые модулиimport sys
из PyQt5.QtWidgets импортировать QApplication, QMainWindow, QMessageBox
# Определить класс для отображения информационного сообщения
класс MessageWindow (QMainWindow):
def __init __ (сам):
# Вызвать родительский конструктор
супер().__в этом__()
# Создаем объект messagebox
себя.msgQuestion = QMessageBox ()
# Установите значок предупреждения
себя.msgQuestion.setIcon (QMessageBox.Вопрос)
# Установить главное сообщение
себя.msgQuestion.setText ("Вы хотите продолжить?")
# Установите две кнопки для окна сообщения
себя.msgQuestion.setStandardButtons (QMessageBox.Да | QMessageBox.Нет)
себя.msgQuestion.setDefaultButton (QMessageBox.Нет)
# Вызов пользовательского метода при нажатии кнопки
себя.msgQuestion.buttonClicked.подключиться (самостоятельно.msgButton)
# Установить заголовок окна
себя.msgQuestion.setWindowTitle ("Задать вопрос пользователю")
# Показать окно сообщения
себя.msgQuestion.показывать()
# Определить функцию для кнопок
def msgButton (сам, я):
Если я.text () == '& Да':
print («Задача продолжается…»)
еще:
print ("Вы отменили задачу.")
# Создать объект приложения и запустить приложение
app = QApplication (sys.argv)
Win = MessageWindow ()
приложение.exec_ ()
Следующее окно сообщения появится после выполнения вышеуказанного скрипта.
Если пользователь щелкает Входить клавишу, не нажимая никаких кнопок, затем Нет кнопка будет активирована по умолчанию, и появится следующий вывод:
Заключение
В этом руководстве с помощью класса QMessageBox были созданы три разных типа окон сообщений. Надеюсь, это руководство помогло вам лучше понять использование этого класса. Теперь вы можете создать окно сообщения для приложения PyQt.