Шаг 251.
Библиотека PyQt5.
Диалоговые окна. Класс QInputDialog (общие сведения)

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

    Класс QInputDialog представляет модальные диалоговые окна для ввода различных данных. Иерархия наследования для этого класса выглядит так:

  (QObject, QPaintDevice)  - QWidget - QDialog - QInputDialog 

    Формат конструктора класса QInputDialog:

  <Объект> = QInputDialog([parent=None][, flags=0]

    Если в параметре parent указана ссылка на родительское окно, диалоговое окно будет центрироваться относительно родительского окна, а не относительно экрана. Параметр flags задает тип окна (см. 25 шаг).

    После создания экземпляра класса следует вызвать метод exec() (или ехес_(), оставленный для совместимости с предыдущими версиями PyQt), чтобы отобразить окно. Метод возвращает код возврата в виде значения следующих атрибутов класса QDialog: Accepted или Rejected.

    Вот пример отображения диалогового окна и обработки статуса внутри обработчика нажатия кнопки:

# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets
import sys
def on_clicked():
    dialog = QtWidgets.QInputDialog()
    result = dialog.exec_()
    if result == QtWidgets.QDialog.Accepted:
        print("Нажата кнопка OK")
        # Здесь получаем данные из диалогового окна
    else:
        print("Нажата кнопка Cancel")

app = QtWidgets.QApplication(sys.argv)
button = QtWidgets.QPushButton("Нажми меня")
# Назначаем обработчиком функцию
button.clicked.connect(on_clicked)
button.show()
sys.exit(app.exec_())
Архив с файлом можно взять здесь.

    Результат работы приложения приведен на рисунке 1.


Рис.1. Результат работы приложения

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




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