PyQt QCalendar小工具
QCalendar 小部件是一个有用的日期选择器控件。它提供了一个基于月份的视图。用户可以通过使用鼠标或键盘来选择日期,默认是今天的日期。日历的日期范围也可以被规定。
下面是这个类的一些实用方法。
下面是QCalendar中最常用的方法。
序号 | 方法和描述 |
---|---|
1 | setDateRange() 设置可供选择的下限和上限日期 |
2 | setFirstDayOfWeek() 确定日历中第一栏的日期。 Qt.Monday Qt.Tuesday Qt.Wednesday Qt.Thursday Qt.Friday Qt.Saturday Qt.Sunday |
3 | setMinimumDate() 设置选择的最低日期 |
4 | setMaximumDate() 设置选择的上限日期 |
5 | setSelectedDate() 设置一个QDate对象作为选定的日期。 |
6 | showToday() 显示今天的月份 |
7 | selectedDate() 检索所选日期 |
8 | setGridvisible() 打开或关闭日历网格 |
例子
下面的例子有一个日历小部件和一个显示当前选定日期的标签。完整的代码如下
import sys
from PyQt4 import QtGui, QtCore
class Example(QtGui.QWidget):
def __init__(self):
super(Example, self).__init__()
self.initUI()
def initUI(self):
cal = QtGui.QCalendarWidget(self)
cal.setGridVisible(True)
cal.move(20, 20)
cal.clicked[QtCore.QDate].connect(self.showDate)
self.lbl = QtGui.QLabel(self)
date = cal.selectedDate()
self.lbl.setText(date.toString())
self.lbl.move(20, 200)
self.setGeometry(100,100,300,300)
self.setWindowTitle('Calendar')
self.show()
def showDate(self, date):
self.lbl.setText(date.toString())
def main():
app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
上述代码产生了以下输出 —