PyQt5 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
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()
上面的代码产生了以下输出。所选日期显示在标签上 –