PyQT5:如何同时使用 QLineEdit:Validator 和 InputMask?
PyQT5: How to use both QLineEdit: Validator and InputMask?
我想同时使用 InputMask 和 Validator 以正确的形式获取日期。在下面的代码中,我使用 InputMask 接收 DD.MM.YYYY 格式的日期。我不知道如何限制它的每个部分(DD、MM 和 YYYY),因为现在用户可以输入 40.30.2020,这在理论上是正确的。
self.date = QLineEdit(self)
self.date.setInputMask("00.00.0000")
QDateTimeEdit
Class
The QDateTimeEdit
class provides a widget for editing dates and times.
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_())
我想同时使用 InputMask 和 Validator 以正确的形式获取日期。在下面的代码中,我使用 InputMask 接收 DD.MM.YYYY 格式的日期。我不知道如何限制它的每个部分(DD、MM 和 YYYY),因为现在用户可以输入 40.30.2020,这在理论上是正确的。
self.date = QLineEdit(self)
self.date.setInputMask("00.00.0000")
QDateTimeEdit
ClassThe
QDateTimeEdit
class provides a widget for editing dates and times.
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_())