-
PyQt5 QDateTimeEdit控件介绍
PyQt5 QDateTimeEdit控件是一个带有不同时间周期的控件,可以设置时间、日期、日期时间或时间间隔。通过控件内置的日期时间对话框,用户可以选择一个特定日期和时间。 -
PyQt5 QDateTimeEdit控件的常用参数
QDateTimeEdit控件可以使用的常用参数及其含义如下:
- setDateTimeRange(minimum, maximum):
设置控件所能允许的QDateTime范围 - setDateTime(QDateTime):
设置控件的初始日期时间值 - setTimeRange(minimum, maximum):
设置控件所能允许的QTime范围 - setDateRange(minimum, maximum):
设置控件所能允许的QDate范围 - setDisplayFormat(format):
设置控件的显示格式 -
dateTime():
返回控件当前的时间日期值 -
PyQt5 QDateTimeEdit控件-设置QDateTime范围示例1
下面的示例演示如何使用setDateTimeRange()方法来设置控件的最小日期和最大日期:
from PyQt5.QtWidgets import QDialog, QApplication, QDateTimeEdit, QVBoxLayout
from PyQt5.QtCore import QDateTime, Qt
import sys
class Example(QDialog):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(200, 200, 300, 300)
self.setWindowTitle('PyQt5 DateTimeEdit')
vbox = QVBoxLayout()
datetimeedit = QDateTimeEdit(self)
datetimeedit.setDateTime(QDateTime.currentDateTime())
datetimeedit.setDateTimeRange(QDateTime(QDate(2020, 1, 1), QTime(0, 0, 0)),
QDateTime(QDate(2030, 12, 31), QTime(23, 59, 59)))
datetimeedit.setDisplayFormat('yyyy-MM-dd hh:mm:ss')
vbox.addWidget(datetimeedit)
self.setLayout(vbox)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
ex.show()
sys.exit(app.exec_())
在该示例中,QDateTimeEdit控件的setDateTimeRange()方法被用来限制所允许的日期范围,这里设置为2020年1月1日到2030年12月31日。同时setDisplayFormat()方法被用来设置控件显示的时间日期格式。运行该示例,将会看到一个初始时间日期为当前时间的DateTimeEdit控件。从控件中选择一个日期时间,超出所允许的日期范围,将会无法被选择(不响应)。
- PyQt5 QDateTimeEdit控件-设置QDateTime范围示例2
下面的示例演示如何setTimeRange()方法来设置控件的最小时间和最大时间。
from PyQt5.QtWidgets import QApplication, QDateTimeEdit, QHBoxLayout, QWidget
from PyQt5.QtCore import QTime, Qt
import sys
if __name__ == '__main__':
app = QApplication(sys.argv)
MainWindow = QWidget()
layout = QHBoxLayout()
foo = QDateTimeEdit(QTime(0, 0, 0), MainWindow)
foo2 = QDateTimeEdit(QTime.currentTime()).setTimeRange(QTime(0, 1), QTime(23, 59, 59))
layout.addWidget(foo)
layout.addWidget(foo2)
MainWindow.setLayout(layout)
MainWindow.show()
sys.exit(app.exec_())
在该示例中,先用QDateTimeEdit构造函数设置初始的时间(第1个控件),然后用setTimeRange()方法设置能够选择的时间范围(第2个控件)。运行该示例,可以看到两个DateTimeEdit控件:一个选择时间时间无限制,另一个限制为1分钟到23小时59分59秒。