关闭

PyQt5:QCalendarWidget日历部件(27)

612人阅读 评论(0) 收藏 举报
分类:

学习《PyQt4入门指南 PDF中文版.pdf 》笔记

QCalendarWidget类提供了以月为单位的日历部件。该部件允许用户以一种简单而直接的方式选择日期。

<span style="font-size:12px;">#!/usr/bin/python
# calendar.py

from PyQt5.QtWidgets import QApplication, QCalendarWidget, QLabel, QVBoxLayout
from PyQt5 import QtWidgets
from PyQt5.QtCore import Qt, QBasicTimer

class Calendar(QtWidgets.QWidget):
    def __init__(self, parent= None):
        QtWidgets.QWidget.__init__(self)
        
        self.setGeometry(300, 300, 350, 300)
        self.setWindowTitle('Calendar')
        self.cal = QCalendarWidget(self)
        self.cal.setGridVisible(True)
        self.cal.selectionChanged.connect(self.showDate)
        self.label = QLabel(self)
        date = self.cal.selectedDate()
        self.label.setText(str(date.toPyDate()))
        vbox = QVBoxLayout()
        vbox.addWidget(self.cal)
        vbox.addWidget(self.label)
        self.setLayout(vbox)
        
    def showDate(self):
        date = self.cal.selectedDate()
        self.label.setText(str(date.toPyDate()))

if __name__ == "__main__":
    import sys
    app = QApplication(sys.argv)
    qb = Calendar()
    qb.show()
    sys.exit(app.exec_())</span>

该示例窗口拥有一个日历部件和一个标签部件。当前被选中的日期被显示在标签部件中。

         使用self.cal = QCalendarWidget(self)语句创建一个日历对象。

         self.cal.selectionChanged.connect(self.showDate)  语句将日历对象的selectionChanged()信号和自定义的showDate()方法相连接。这样在我们选定一个日期后,日历对象的selectionChanged()消息就会触发,而与之相连的showDate()方法就会被调用。

         defshowDate(self):

         date = self.cal.selectedDate()

         self.label.setText(str(date.toPyDate()))

         在showDate方法中,我们使用selectedDate方法获取被选择的日期。然后将其转换为字符串并显示在标签部件中。


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:46668次
    • 积分:952
    • 等级:
    • 排名:千里之外
    • 原创:49篇
    • 转载:1篇
    • 译文:0篇
    • 评论:10条
    文章分类
    最新评论