Шаг 118.
Библиотека PyQt5.
Основные компоненты. Поля для ввода целых и вещественных чисел

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

    Для ввода целых чисел предназначен класс QSpinBox, для ввода вещественных чисел - класс QDoubleSpinBox. Эти поля могут содержать две кнопки, которые позволяют щелчками мышью увеличивать и уменьшать значение внутри поля. Пример такого поля ввода можно увидеть на рисунке 1.


Рис.1. Компонент QSpinBox

    Текст приложения с использованием этого компонента:

# -*- coding: utf-8 -*-
from PyQt5 import QtWidgets, QtCore
import sys
app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setWindowTitle("QSpinBox")
spinbox = QtWidgets.QSpinBox()
spinbox.setRange(1,2020)
spinbox.setValue(2019)
vbox = QtWidgets.QVBoxLayout()
vbox.addWidget(spinbox)
window.setLayout(vbox)
window.show()
sys.exit(app.exec_())
Архив с файлом можно взять здесь.

    Иерархия наследования;

  (QObject, QPaintDevice)  - QWidget - QAbstractSpinBox - QSpinBox 
  (QObject, QPaintDevice)  - QWidget - QAbstractSpinBox - QDoubleSpinBox

    Форматы конструкторов классов QSpinBox и QDoubleSpinBox:

  <Объект> = QSpinBox ([parent=<Родитель>]) 
  <Объект> = QDoubleSpinBox([parent=<Родитель>])

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

    Класс QAbstractSpinBox поддерживает сигнал editingFinished, который генерируется при потере полем фокуса ввода или при нажатии клавиши Enter.

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




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