前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >PyQt5 日历控件(QCalendarWidget)

PyQt5 日历控件(QCalendarWidget)

作者头像
用户6021899
发布2019-08-14 16:40:14
1.9K0
发布2019-08-14 16:40:14
举报
文章被收录于专栏:Python编程 pyqt matplotlib

本篇介绍日历控件的使用:

代码语言:javascript
复制
cal = QCalendarWidget(self)

创建日历控件

代码语言:javascript
复制
cal.clicked[QDate].connect(self.showDate)

点击日期时会发射.clicked 信号,信号参数类型为PyQt5.QtCore.QDate

代码语言:javascript
复制
.toString()

可将QDatae实例转化为格式化的日期字符串

PyQt5.QtCore.QDate(2019, 4, 10) -> “周三 4月 10 2019”

完整的代码如下:

代码语言:javascript
复制
from PyQt5.QtWidgets import (QWidget, QCalendarWidget, 
    QLabel, QApplication, QVBoxLayout)
from PyQt5.QtCore import QDate
import sys
class Example(QWidget):
    
    def __init__(self):
        super().__init__()
        
        self.initUI()
        
    def initUI(self):      
        
        vbox = QVBoxLayout(self)
        cal = QCalendarWidget(self)#创建日历控件
        cal.setGridVisible(True)#设置网格可见
        
        #点击日期时会发射.clicked 信号,信号参数类型为PyQt5.QtCore.QDate
        cal.clicked[QDate].connect(self.showDate)#信号参数类型设置
        
        vbox.addWidget(cal)
        
        self.lbl = QLabel(self)
        date = cal.selectedDate()
        self.lbl.setText(date.toString())
        vbox.addWidget(self.lbl)
        self.setLayout(vbox)
        self.setGeometry(300, 300, 350, 300)
        self.setWindowTitle('Calendar')
        self.show()
        
    def showDate(self, date):#date为clicked信号传进来的参数,QDate类型
        self.lbl.setText(date.toString())
        print(date.toString(),"\n",date)
         
if __name__ == '__main__':
    app = QApplication(sys.argv)
    ex = Example()
    sys.exit(app.exec_())
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-04-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python可视化编程机器学习OpenCV 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档