目录
1、同时显示日期时间QDateTime
# 同时显示日期时间
dateTimeEdit1 = QDateTimeEdit()
dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime())
2、只显示日期QDate
# 只显示日期 dateTimeEdit3 = QDateTimeEdit(QDate.currentDate())
3、只显示时间QTime
# 只显示时间 dateTimeEdit4 = QDateTimeEdit(QTime.currentTime())
4、设置显示的格式setDisplayFormat
# 设置显示的格式 dateTimeEdit1.setDisplayFormat("yyyy-MM-dd HH:mm:ss") dateTimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss") dateTimeEdit3.setDisplayFormat("yyyy.MM.dd") dateTimeEdit4.setDisplayFormat("HH:mm:ss")
5、 QDateTimeEdit常用信号
1)日期改变信号:dateChanged(self.slot)
2)时间改变信号:timeChanged(self.slot)
3)日期时间改变信号:dateTimeChanged(self.slot)
注:这些都会默认返回当前的日期或者时间参数,不需要额外进行传参
即:def slot(self,t)
6、实例
# 信号改变返回的日期和时间类的值
PyQt5.QtCore.QDateTime(2001, 1, 1, 0, 0)
PyQt5.QtCore.QDate(2001, 1, 1)
PyQt5.QtCore.QDateTime(2001, 1, 1, 1, 0)
PyQt5.QtCore.QTime(1, 0)
PyQt5.QtCore.QDateTime(2001, 1, 1, 2, 0)
PyQt5.QtCore.QTime(2, 0)
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2022/5/26 18:10
# @Author : @linlianqin
# @Site :
# @File : QDateTimeEdit_learn.py
# @Software: PyCharm
# @description:
from PyQt5.QtWidgets import QDateTimeEdit,QWidget,QVBoxLayout,QApplication
from PyQt5.QtCore import QDateTime,QDate,QTime
import sys
class DateTimeEditDemo(QWidget):
def __init__(self):
super(DateTimeEditDemo, self).__init__()
layout = QVBoxLayout()
# 同时显示日期时间
dateTimeEdit1 = QDateTimeEdit()
dateTimeEdit2 = QDateTimeEdit(QDateTime.currentDateTime())
# 只显示日期
dateTimeEdit3 = QDateTimeEdit(QDate.currentDate())
# 只显示时间
dateTimeEdit4 = QDateTimeEdit(QTime.currentTime())
# 设置显示的格式
dateTimeEdit1.setDisplayFormat("yyyy-MM-dd HH:mm:ss")
dateTimeEdit2.setDisplayFormat("yyyy/MM/dd HH-mm-ss")
dateTimeEdit3.setDisplayFormat("yyyy.MM.dd")
dateTimeEdit4.setDisplayFormat("HH:mm:ss")
layout.addWidget(dateTimeEdit1)
layout.addWidget(dateTimeEdit2)
layout.addWidget(dateTimeEdit3)
layout.addWidget(dateTimeEdit4)
self.setLayout(layout)
# 默认将相应的日期或者时间返回
dateTimeEdit1.dateChanged.connect(self.datechange)
dateTimeEdit1.timeChanged.connect(self.timechange)
dateTimeEdit1.dateTimeChanged.connect(self.datetimechange)
def datechange(self,date):
print(date)
def timechange(self,time):
print(time)
def datetimechange(self,datetime):
print(datetime)
if __name__ == '__main__':
app = QApplication(sys.argv)
mainWin = DateTimeEditDemo()
mainWin.show()
sys.exit(app.exec_())