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 时间组件相关推荐

  1. “结巴”中文分词:做最好的 Python 中文分词组件

    jieba "结巴"中文分词:做最好的 Python 中文分词组件 "Jieba" (Chinese for "to stutter") C ...

  2. python pyqt eric_python+PyQT+Eric安装配置

    python+PyQT+Eric安装配置 作者: loker 博客: http://www.cnblogs.com/lhj588/ 时间: 2011年10月3日 一.大纲内容: 1.预备PC环境: 2 ...

  3. 3、Python 中文分词组件Jieba

    在自然语言处理中,分词是一项最基本的技术.中文分词与英文分词有很大的不同,对英文而言,一个单词就是一个词,而汉语以字为基本书写单位,词语之间没有明显的区分标记,需要人为切分.现在开源的中文分词工具有 ...

  4. 1、Python 日期时间格式化输出

    今天帮朋友写自动化脚本,又需要用格式化日期,又忘记怎么写了,还是写到自己博客里面,方便日后需要的时候看一眼吧.So,临时加一篇 Python 的文章. 1.Python的time模块 import t ...

  5. python按时间排序 文件

    python按时间排序目录下的文件 python文件夹遍历,文件操作,获取文件修改创建时间可以参考另一篇博客.  如:  os.path.getmtime() 函数是获取文件最后修改时间  os.pa ...

  6. python自学时间-学习Python、Python时间操作有哪些?

    一.背景知识介绍: 1.时间是人类规定的产物,与长度单位是一个道理,米这个单位也是人类发明的.简单说就是地球自转1圈为1天,地球饶太阳公转1圈为1年,而且根据公转自转度量时间都是不可靠的(因为非匀速无 ...

  7. scrapy笔记——python的时间转换

    1 import datetime 2 GMT_FORMAT = '%M %H %d %m %w' 3 datetime.datetime.utcnow().strftime(GMT_FORMAT) ...

  8. Python 日期时间函数

    所有日期.时间的api都在datetime模块内. 1. 日期输出格式化 datetime => string import datetime now = datetime.datetime.n ...

  9. 【Python机器学习时间指南】一、Python机器学习的生态系统

    本文主要记录<Python机器学习时间指南>第一章中1.2Python库和功能中的内容.学习机器学习的工作流程. 一.数据的获取和检查 requests获取数据 pandans处理数据 1 ...

最新文章

  1. AutoML未来可期,工程师的明天何去何从?
  2. Android界面开发问题总结
  3. 算法六之直接插入排序
  4. alpha冲刺day8
  5. mysql+主从同步+用户,MySQL主从同步
  6. 美图:已累计净购买价值约1亿美元的加密货币
  7. Docker教程:docker的概念及安装
  8. Winform窗体验证登陆
  9. C++、Java、JavaScript中回调的用法
  10. java jtextarea.setfont_如何在JTextArea中更改文本颜色?
  11. 《Java程序性能优化》-笔记
  12. 交通灯控制系统c语言编程,基于单片机的交通灯控制系统设计(本科)毕业论文设计.doc...
  13. 为什么你感觉Java难以入门?
  14. @SuppressWarnings的使用、作用、用法
  15. 一位友人做足这些准备,终于拿到了FaceBook的offer
  16. 如何提高心理承受能力?
  17. 用jupyter notebook卸载Python第三方库
  18. 51-单片机及开发板介绍
  19. 《图书馆笔记本防盗器》工程测试版发布!
  20. 大数据在营销中的应用

热门文章

  1. 体验版的软件可以取消“导出”功能限制吗?
  2. springboot集成阿里OSS上传文件
  3. SQLserver数据库教程
  4. Django3在网页上生成二维码
  5. 导出期刊对应格式的参考_中文参考文献怎么一键导出正确格式?写作必看!
  6. 腾讯技术分享:微信小程序音视频技术背后的故事
  7. IEEE Access LaTex 版本问题(一):图片的标注无法换行、无法左对齐以及如何加粗
  8. 【智慧农业】LORA农业灌溉解决方案
  9. ItunesConnect:苹果内购项目元数据缺失
  10. 入职两年申请涨薪3K被拒,是我平时好脸给多了?转身立马裸辞走人...