Шаг 241.
Библиотека PyQt5.
Диалоговые окна. Пользовательские диалоговые окна

    На этом шаге мы рассмотрим класс, реализующий такие окна, перечислим его основные методы.

    Класс QDialog реализует диалоговое окно. По умолчанию окно выводится с рамкой и заголовком, в котором расположены кнопки Справка и Закрыть. Размеры окна можно изменять с помощью мыши. Иерархия наследования для класса QDialog выглядит так:

  (QObject, QPaintDevice) - QWidget - QDialog

    Конструктор класса QDialog имеет следующий формат:

  <Объект> = QDialog ([parent=<Родитель>] [, flags=<Тип окна>])

    В параметре parent указывается ссылка на родительское окно. Если параметр не указан или имеет значение None, то диалоговое окно будет центрироваться относительно экрана. Если указана ссылка на родительское окно, то диалоговое окно будет центрироваться относительно родительского окна, - это также позволяет создать модальное диалоговое окно, которое будет блокировать только окно родителя, а не все окна приложения. Какие именно значения можно указать в параметре flags, мы уже рассматривали на 25 шаге. Тип окна по умолчанию - Dialog.

    Класс QDialog наследует все методы из базовых классов и дополнительно реализует следующие методы (здесь приведены только основные - полный их список доступен на странице https://doc.qt.io/qt-5/qdialog.html):

    Класс QDialog поддерживает следующие сигналы:

    Для всех кнопок, добавляемых в диалоговое окно, автоматически вызывается метод setAutoDefault() со значением True в качестве параметра. В этом случае кнопка может быть нажата с помощью клавиши Enter при условии, что она находится в фокусе. По умолчанию нажать кнопку позволяет только клавиша Пробел.

    С помощью метода setDefauit() можно указать кнопку по умолчанию. Эта кнопка может быть нажата с помощью клавиши Enter, когда фокус ввода установлен на другой компонент, например на текстовое поле.

    На следующем шаге мы рассмотрим класс QDialogButtonBox.




Предыдущий шаг Содержание Следующий шаг