7.4 QDateTimeEdit时间日期调节器

一、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.效果
posted @ 2022-04-11 21:18  Trouvaille_fighting  阅读(823)  评论(0编辑  收藏  举报

目录导航