PyQt - QCalendar 小部件
QCalendar 小部件是一个有用的日期选择器控件。 它提供基于月份的视图。 用户可以使用鼠标或键盘选择日期,默认为今天的日期。 也可以规定日历的日期范围。
以下是该类的一些实用方法 −
下面给出了 QCalendar 最常用的方法。
| 序号 | 方法 & 描述 |
|---|---|
| 1 |
setDateRange() 设置可供选择的下限和上限日期 |
| 2 |
setFirstDayOfWeek() 确定日历中第一列的日期 预定义的日期常量是 −
|
| 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()
上面的代码产生以下输出 −

