Python:PyQt 时间组件

编程入门 行业动态 更新时间:2024-10-28 10:30:52

Python:PyQt 时间<a href=https://www.elefans.com/category/jswz/34/1771375.html style=组件"/>

Python:PyQt 时间组件


import sys
from PyQt5.QtWidgets import QApplication,QWidget,QCalendarWidget,QHBoxLayout,QVBoxLayout,QDateTimeEdit,QLabel,QMessageBox
from PyQt5.QtCore import Qt,QDateTime,QDate,QTime
# 日期表达式:
#  d - 没有前置0的数字的天(1-31)
#  dd - 前置0的数字的天(01-31)
#  ddd - 缩写的日名称(Mon-Sun)。使用QDate.shortDayName()。
#  dddd - 长的日名称(Monday-Sunday)。使用QDate.longDayName()。
#  M - 没有前置0的数字的月(1-12)
#  MM - 前置0的数字的月(01-12)
#  MMM - 缩写的月名称(Jan-Dec)。使用QDate.shortMonthName()。
#  MMMM - 长的月名称(January-December)。使用QDate.longMonthName()。
#  yy - 两位数字的年(00-99)
#  yyyy - 四位数字的年(0000-9999)# 时间表达式:
#  h - 没有前置0的数字的小时(0-23或者如果显示AM/PM时,1-12)
#  hh - 前置0的数字的小时(00-23或者如果显示AM/PM时,01-12)
#  m - 没有前置0的数字的分钟(0-59)
#  mm - 前置0的数字的分钟(00-59)
#  s - 没有前置0的数字的秒(0-59)
#  ss - 前置0的数字的秒(00-59)
#  z - 没有前置0的数字的毫秒(0-999)
#  zzz - 前置0的数字的毫秒(000-999)
#  AP - 切换为AM/PM显示。AP将被“AM”或“PM”替换。
#  ap - 切换为am/pm显示。ap将被“am”或“pm”替换。app = QApplication(sys.argv)
exe = QWidget()hbox = QHBoxLayout()cal = QCalendarWidget()# 时间组件
dt1 = QDateTimeEdit(QDateTime.currentDateTime()) # 创建日期+时间的组件
dt1.setDisplayFormat('yyyy-MM-dd hh:mm:ss zzz') # 显示样式
# dt1.setDateTime(QDateTime(2011,4,22,16,33,15))
# 弹出选择日期窗口
dt1.setCalendarPopup(True) # 允许弹出时间窗口dt2 = QDateTimeEdit(QDate.currentDate()) # 创建日期,并初始值
# dt2.setDate(QDate.currentDate())
dt2.setDate(QDate(2016,6,20)) # 更改时间
# 其他同功能的有用函数:
# setDateTimeRange()、setDateRange()、setTimeRange()、
# setMaximumDateTime()和setMinimumDateTime()、setMinimumTime()和setMaximumTime()
dt2.setMinimumDate(QDate.currentDate().addDays(-365)) # 限定时间最小值,当前时间-365天
dt2.setMaximumDate(QDate.currentDate().addDays(365)) # 限定时间最大值,当前时间+365天
dt2.setCalendarPopup(True) # 允许弹出窗口选择日期,setMinimumDate()的限定对这个窗口也有效dt3 = QDateTimeEdit(QTime.currentTime()) # 创建时间,并初始值
dt3.setDisplayFormat('hh:mm:ss zzz') # 显示样式
dt3.setTime(QTime(13,14,00,520)) # 必须有上面的样式,否则只显示前2位
# dt3.setSelectedSection(QDateTimeEdit.HourSection)# 常用的三个信号:dateChanged()、dateTimeChanged()、timeChanged(),当日期、日期时间、时间改变时发射。
def timeShow():QMessageBox.about(exe,"时间","选择的时间是:"+dt1.dateTime().toString())
dt1.dateTimeChanged.connect(timeShow)label1 = QLabel(dt1.dateTime().toString()) # 获取日期+时间
label2 = QLabel("maximumDateTime:"+dt2.maximumDateTime().toString()) #获取最大时间,也可以获取其他类似时间
# label3 = QLabel(dt3.time().toString())
# QDateTimeEdit::NoSection	0x0000
# QDateTimeEdit::AmPmSection	0x0001
# QDateTimeEdit::MSecSection	0x0002
# QDateTimeEdit::SecondSection	0x0004
# QDateTimeEdit::MinuteSection	0x0008
# QDateTimeEdit::HourSection	0x0010
# QDateTimeEdit::DaySection	0x0100
# QDateTimeEdit::MonthSection	0x0200
# QDateTimeEdit::YearSection	0x0400
# label3 = QLabel(str(dt2.sectionText(QDateTimeEdit.YearSection))) # 获取时的部分
# label3 = QLabel(dt2.sectionText(dt2.sectionAt(0))) # 获取第一部分与上面等效
label3 = QLabel(dt3.sectionText(dt3.sectionAt(0))) # 获取时部分# dt1.sectionCount() ,结果int型,日期时间类型包含几个部分(数量)vbox = QVBoxLayout()
vbox.addWidget(dt1)
vbox.addWidget(label1)
vbox.addWidget(dt2)
vbox.addWidget(label2)
vbox.addWidget(dt3)
vbox.addWidget(label3)hbox.addWidget(cal)
hbox.addLayout(vbox)exe.setLayout(hbox)
exe.show()
sys.exit(app.exec_())
原文

更多推荐

Python:PyQt 时间组件

本文发布于:2023-06-20 12:19:31,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/801388.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:组件   时间   Python   PyQt

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!