一、QDateTimeEdit时间日期调节器
1.基本概念
* 显示当前日期
* 选择对应日期
2.代码
点击查看代码
from PyQt5.Qt import *
import sys
class Window(QWidget) :
def __init__(self) :
super().__init__()
self.setWindowTitle("QDateTimeEdit时间和日期步长调节器 - PyQt5中文网")
self.resize(600, 500)
self.func_list()
def func_list(self) :
self.func()
def func(self) :
"""
QDateTimeEdit(parent: QWidget = None)
QDateTimeEdit(Union[QDateTime, datetime.datetime], parent: QWidget = None)
QDateTimeEdit(Union[QDate, datetime.date], parent: QWidget = None)
QDateTimeEdit(Union[QTime, datetime.time], parent: QWidget = None)
# 从构造函数可以看出,以下三个类没有继承关系
QDateTime
QDate
QTime
"""
# 传入QDateTime的一种构造方法
# self.dt_tm = QDateTime(2020,1,15,11,31,55)
self.dt_tm = QDateTime.currentDateTime() # 当前时间
#self.dt_tm = self.dt_tm.addYears(2) # 不会直接显示在控件中,要重新赋值
print(self.dt_tm.offsetFromUtc()//3600) # 此时与标准时间差,目前是东八区(用的不多)
self.qsb = QDateTimeEdit(self.dt_tm, self) #将上面的设定的日期存入
self.qsb.resize(300, 40)
self.qsb.move(150, 150)
#输出格式
self.qsb.setDisplayFormat('yyyy/MM/dd hh:mm:ss')
#设置最大值
self.qsb.setMaximumDateTime(QDateTime(2030,1,1,0,0))
#设置最小值
self.qsb.setMinimumDateTime(QDateTime(1990,1,1,0,0))
#设置日期范围
self.qsb.setDateTimeRange(QDateTime.currentDateTime().addDays(-10),QDateTime.currentDateTime().addDays(10)) #当前日子的前后10天
# 日历选择控件(会展示出日历,可以选择)
self.qsb.setCalendarPopup(True)
# 获取时间和日期
print(self.qsb.dateTime()) #获取时间和日期
print(self.qsb.time()) #获取时间
print(self.qsb.date()) #获取日期
# 可用信号(更改年 日期 时间的时候,会促发信号,进行输出)
self.qsb.dateTimeChanged.connect(lambda :print(self.qsb.dateTime()))
self.qsb.timeChanged.connect(lambda :print(self.qsb.time()))
self.qsb.dateChanged.connect(lambda :print(self.qsb.date()))
# 时间(QTimeEdit)和日期(QDateEdit)控件与父控件(QDateTimeEdit)基本一样
if __name__ == '__main__' :
app = QApplication(sys.argv)
window = Window()
window.show()
sys.exit(app.exec_())
## 3.效果