На этом шаге мы перечислим классы, используемые для этих целей, а также приведем формы их конструкторов.
Для ввода даты и времени предназначены классы
Поля могут содержать кнопки, которые позволяют щелчками мышью увеличивать и уменьшать значение внутри поля. Пример такого поля показан на рисунке 1.
Рис.1. Компонент QDateEdit с кнопками-стрелками
Текст приложения:
# -*- coding: utf-8 -*- from PyQt5 import QtWidgets, QtCore import sys import datetime app = QtWidgets.QApplication(sys.argv) window = QtWidgets.QWidget() window.setWindowTitle("QDateEdit") now = datetime.datetime.now() # Получить текущую дату dateedit = QtWidgets.QDateEdit(now) # Использовать ее в конструкторе vbox = QtWidgets.QVBoxLayout() vbox.addWidget(dateedit) window.setLayout(vbox) window.show() sys.exit(app.exec_())
Иерархия наследования:
(QObject, QPaintDevice) - QWidget - QAbstractSpinBox - QDateTimeEdit (QObject, QPaintDevice) - QWidget - QAbstractSpinBox - QDateTimeEdit - QDateEdit (QObject, QPaintDevice) - QWidget - QAbstractSpinBox - QDateTimeEdit - QTimeEdit
Форматы конструкторов классов:
<Объект> = QDateTimeEdit ([parent=<Родитель>]) <Объект> = QDateTimeEdit (<QDateTime>[, parent=<Родитель>]) <Объект> = QDateTimeEdit (<QDate>[, parent=<Родитель>]) <Объект> = QDateTimeEdit (<QTime>[, parent=<Родитель>]) <Объект> = QDateEdit ([parent=<Родитель>]) <Объект> = QDateEdit (<QDate>[, parent=<Родитель>]) <Объект> = QTimeEdit ([parent=<Родитель>] ) <Объект> = QTimeEdit (<QTime>[parent=<Родитель>] )
В параметре <QDateTime> можно указать экземпляр класса QDateTime или экземпляр класса datetime из языка Python. Преобразовать экземпляр класса QDateTime в экземпляр класса datetime позволяет метод toPyDateTime() класса QDateTime. Пример:
>>> from PyQt5 import QtCore >>> d = QtCore.QDateTime() >>> d PyQt5.QtCore.QDateTime() >>> d.toPyDateTime() datetime.datetime(0, 0, 0, 255, 255, 255, 16776216)
В качестве параметра <QDate> можно указать экземпляр класса QDate или экземпляр класса date из языка Python. Преобразовать экземпляр класса QDate в экземпляр класса date позволяет метод toPyDate() класса QDate.
В параметре <QTime> можно указать экземпляр класса QTime или экземпляр класса time из языка Python. Преобразовать экземпляр класса QTime в экземпляр класса time позволяет метод toPyTime() класса QTime.
Классы QDateTime, QDate и QTime определены в модуле QtCore.
На следующем шаге мы закончим изучение этого вопроса.