PyQT5: Как использовать QLineEdit: Validator и InputMask? - PullRequest
1 голос
/ 07 мая 2020

Я хочу использовать как InputMask, так и Validator, чтобы получить дату в правильной форме. В приведенном ниже коде я использую InputMask для получения даты в формате ДД.ММ.ГГГГ. Я не знаю, как ограничить каждую его часть (ДД, ММ и ГГГГ), потому что теперь пользователь может ввести 40.30.2020, и это теоретически правильно.

self.date = QLineEdit(self)
self.date.setInputMask("00.00.0000")

1 Ответ

1 голос
/ 07 мая 2020

QDateTimeEdit Класс

Класс QDateTimeEdit предоставляет виджет для редактирования даты и времени.

import sys
from PyQt5.QtCore import QDate 
from PyQt5.QtWidgets import (QApplication, QWidget, QDateTimeEdit, 
                             QFormLayout, QLabel)
from PyQt5.QtGui import QFont

class Demo(QWidget):
    def __init__(self):
        super(Demo, self).__init__()    

        self.datetime = QDateTimeEdit(QDate.currentDate())

        self.v_layout = QFormLayout(self)
        self.v_layout.addRow(QLabel('DD.MM.YYYY'), self.datetime)


if __name__ == '__main__':
    app = QApplication(sys.argv)
    app.setFont(QFont("Times", 12, QFont.Bold))
    demo = Demo()
    demo.show()
    sys.exit(app.exec_())

введите описание изображения здесь

...