На этом шаге мы рассмотрим особенности создания и использования такого окна.
Окно для ввода вещественного числа реализуется с помощью статического метода getDouble(). Формат метода:
getDouble(<Родитель>, <Текст заголовка>, <Текст подсказки>[, value=0][, min=-2147483647][, max=2147483647][, decimals=1][, flags=0])
В параметре <Родитель> указывается ссылка на родительское окно или значение None. Если указана ссылка, диалоговое окно будет центрироваться относительно родительского окна, а не относительно экрана. Необязательный параметр value устанавливает значение поля по умолчанию. Параметр min задает минимальное значение, параметр max - максимальное значение, а параметр decimals - количество цифр после десятичной точки. Параметр flags позволяет указать тип окна. Метод возвращает кортеж из двух элементов: (<Значение>, <Статус>). Через первый элемент доступно введенное значение, а через второй - значение True, если была нажата кнопка ОК, или значение False, если были нажаты кнопка Cancel, клавиша Esc или кнопка Закрыть в заголовке окна. Пример:
# -*- coding: utf-8 -*- from PyQt5 import QtWidgets import sys def on_clicked(): n, ok = QtWidgets.QInputDialog.getDouble(None, "Это заголовок окна", "Это текст подсказки", value=50, min=0.0, max=100.0, decimals=2) if ok: print("Введено значение:", n) app = QtWidgets.QApplication(sys.argv) button = QtWidgets.QPushButton("Нажми меня") # Назначаем обработчиком функцию button.clicked.connect(on_clicked) button.show() sys.exit(app.exec_())
Результат работы приложения приведен на рисунке 1
Рис.1. Окно для ввода вещественного числа
На следующем шаге мы рассмотрим окно для выбора пункта из списка.