PyQt5 – QCalendar小工具
QCalendar 小组件是一个有用的日期选择器控件。它提供了一个基于月份的视图。用户可以通过使用鼠标或键盘来选择日期,默认是今天的日期。日历的日期范围也可以被规定。
以下是该类的一些实用方法
下面给出了QCalendar最常用的方法。
Sr.No. | 方法和描述 |
---|---|
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
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
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()
上述代码产生以下输出。选定的日期显示在标签上 –