PyQt5基础学习-QDateTimeEdit(时间编辑器) 1.QDateTime().currentDateTime(获得当前的时间) 2.QDate.currentData(获得当前时间) 3.QTime.currentTime(获得当前时间)

下面使用了4中不同的时间格式来显示不同的时间情况, 如日期和时间的显示等

"""
输入各种风格的日期和时间

QDataTimeEdit
"""
"""
日历控件
QCalendarWidget

"""

import sys, math
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *

class DataTimeEdit1(QWidget):
    def __init__(self):
        super(DataTimeEdit1, self).__init__()
        self.initUI()
    def initUI(self):
        vlayout = QVBoxLayout()
        dateTimeEdit1 = QDateTimeEdit()
        dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime())
        dateTimeEdit1.setMinimumDate(QDate.currentDate().addDays(-365))
        dateTimeEdit1.setMaximumDate(QDate.currentDate().addDays(365))

        self.dateTimeEdit = dateTimeEdit1
        #设置下拉的时间框
        dateTimeEdit2.setCalendarPopup(True)


        dateEdit = QDateTimeEdit(QDate.currentDate())
        timeEdit = QDateTimeEdit(QTime.currentTime())

        dateTimeEdit1.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
        dateTimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss")

        dateEdit.setDisplayFormat("yyyy.MM.dd")
        timeEdit.setDisplayFormat("HH:mm:ss")

        dateTimeEdit1.dateChanged.connect(self.onDateChanged)
        dateTimeEdit1.timeChanged.connect(self.onTimeChanged)
        dateTimeEdit1.dateTimeChanged.connect(self.onDateTimeChanged)

        self.btn = QPushButton('获取日期和时间')
        self.btn.clicked.connect(self.onButtonClick)

        vlayout.addWidget(dateTimeEdit1)
        vlayout.addWidget(dateTimeEdit2)
        vlayout.addWidget(dateEdit)
        vlayout.addWidget(timeEdit)
        vlayout.addWidget(self.btn)

        self.resize(300, 90)
        self.setWindowTitle("设置不同风格的日期和时间")



        self.setLayout(vlayout)

    #日期变化
    def onDateChanged(self, date):
        print(date)

    #时间变化
    def onTimeChanged(self, time):
        print(time)

    #日期和时间变化
    def onDateTimeChanged(self, datetime):
        print(datetime)

    def onButtonClick(self):
        datetime = self.dateTimeEdit.dateTime()

        print(datetime)

        #最大日期
        print(self.dateTimeEdit.maximumDate())
        #最大日期和时间
        print(self.dateTimeEdit.maximumDateTime())

        #最小日期
        print(self.dateTimeEdit.minimumDateTime())


if __name__ == "__main__":
    app = QApplication(sys.argv)

    main = DataTimeEdit1()
    main.show()

    sys.exit(app.exec_())

 

 

posted @ 2022-01-31 23:50  c语言我的最爱  阅读(916)  评论(0编辑  收藏  举报