Шаг 120.
Библиотека PyQt5.
Основные компоненты. Поля для ввода даты и времени

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

    Для ввода даты и времени предназначены классы

    Поля могут содержать кнопки, которые позволяют щелчками мышью увеличивать и уменьшать значение внутри поля. Пример такого поля показан на рисунке 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.

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




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