您的位置:首页 > 编程语言 > Qt开发

PyQt4日历部件QXalendarWidget

2016-04-07 15:26 477 查看
QCalendarWidget类提供了以月为单位地日历部件。该部件允许用户以一种简单而直接的方式选择日期。

#!/usr/bin/python
# -*- coding: utf-8 -*-

import sys
from PyQt4 import QtGui, QtCore

class Calendar(QtGui.QWidget):
def __init__(self, parent = None):
QtGui.QWidget.__init__(self)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('Calendar')
self.cal = QtGui.QCalendarWidget(self)
self.cal.setGridVisible(True)
self.connect(self.cal, QtCore.SIGNAL('selectionChanged()'), self.showDate)
self.label = QtGui.QLabel(self)
date = self.cal.selectedDate()
self.label.setText(str(date.toPyDate()))
vbox = QtGui.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()))

app = QtGui.QApplication(sys.argv)
cal = Calendar()
cal.show()
sys.exit(app.exec_())


效果:



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

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

self.connect(self.cal, QtCore.SIGNAL('selectionChanged()'), self.showDate)

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

def showDate(self):
date = self.cal.selectedDate()
self.label.setText(str(date.toPyDate()))

在showDate方法中,我们使用selectedDate方法获取被选择的日期。然后将其转换为字符串并显示在标签部件中。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: