PyQT5-QCalendarWidget 日历显示

复制代码
 1 """
 2     QCalendarWidget:提供了日历插件
 3     Author:dengyexun
 4     DateTime:2018.11.22
 5 """
 6 from PyQt5.QtWidgets import QWidget, QCalendarWidget, QApplication, QLabel, QVBoxLayout
 7 from PyQt5.QtCore import QDate
 8 import sys
 9 
10 class Example(QWidget):
11 
12     def __init__(self):
13         super().__init__()
14 
15         self.initUI()
16 
17     def initUI(self):
18         # 将多个控件加入到qt的布局管理器中。建立一个箱布局
19         vbox = QVBoxLayout(self)
20 
21         # # 日历对象,网格可见
22         cal = QCalendarWidget(self)
23         cal.setGridVisible(True)
24         # 点击日历,传入QDate数据,同showDate函数相关联
25         cal.clicked[QDate].connect(self.showDate)
26 
27         # 把日历加入到这个箱子中
28         vbox.addWidget(cal)
29 
30         # 显示选定的日期的label
31         self.lbl = QLabel(self)
32         date = cal.selectedDate()
33         self.lbl.setText(date.toString())
34 
35         # 把label也加入到这个箱子中
36         vbox.addWidget(self.lbl)
37 
38         # 要给vbox设置布局
39         self.setLayout(vbox)
40 
41         self.setGeometry(300, 300, 350, 300)
42         self.setWindowTitle('Calendar')
43         self.show()
44 
45     def showDate(self, date):
46         """
47         显示选中的日期
48         :param date: 点击日历组件,接收传入的参数
49         :return:
50         """
51         self.lbl.setText(date.toString())
52 
53 
54 if __name__ == '__main__':
55     app = QApplication(sys.argv)
56     ex = Example()
57     sys.exit(app.exec_())
复制代码

 

posted @   今夜无风  阅读(1908)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)
历史上的今天:
2017-11-23 CSS水平导航栏
2017-11-23 CSS垂直导航栏
2017-11-23 11.23CSS笔记
点击右上角即可分享
微信分享提示