学习《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方法获取被选择的日期。然后将其转换为字符串并显示在标签部件中。
版权声明:本文为c3060911030原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。