当我们需要在GUI程序中需要显示日期,且方便用户进行选择和交互时,PyQt5中的QCalendarWidget就派上用场了。
安装PyQt5
在开始使用PyQt5之前,需要先安装PyQt5,可以通过pip命令进行安装。在命令行中执行以下命令:
pip install PyQt5
创建QCalendarWidget
要使用QCalendarWidget,首先需要在程序中创建该组件的实例。下面是一个基本的示例代码:
import sys
from PyQt5.QtGui import QStandardItemModel
from PyQt5.QtWidgets import QApplication, QMainWindow, QCalendarWidget
class App(QMainWindow):
def __init__(self):
super().__init__()
self.title = 'PyQt5 CalendarWidget'
self.left = 100
self.top = 100
self.width = 400
self.height = 300
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
cal = QCalendarWidget(self)
cal.setGridVisible(True)
cal.move(20, 20)
self.show()
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
在上述程序中,我们创建了一个QMainWindow实例,在其中添加了一个QCalendarWidget组件,并在显示在窗口中。
获取QCalendarWidget中的日期选中
现在我们已经可以在程序中使用QCalendarWidget控件了。接下来需要实现当用户选择日期时,我们需要获取该日期并进行一些处理。
import sys
from PyQt5.QtGui import QStandardItemModel
from PyQt5.QtWidgets import QApplication, QMainWindow, QCalendarWidget, QLabel
class App(QMainWindow):
def __init__(self):
super().__init__()
self.title = 'PyQt5 CalendarWidget'
self.left = 100
self.top = 100
self.width = 400
self.height = 300
self.initUI()
def initUI(self):
self.setWindowTitle(self.title)
self.setGeometry(self.left, self.top, self.width, self.height)
cal = QCalendarWidget(self)
cal.setGridVisible(True)
cal.move(20, 20)
cal.clicked[QDate].connect(self.onDateSelected)
self.label = QLabel("", self)
self.label.move(20, 200)
self.show()
def onDateSelected(self, date):
self.label.setText(date.toString())
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = App()
sys.exit(app.exec_())
在上述程序中,我们新增了一个QLabel实例,用于显示用户选择的日期。我们通过连接QCalendarWidget的clicked信号,实现了当用户选择日期时,会自动调用onDateSelected函数进行处理,该函数获取被选择的日期,并将其显示在QLabel中。
以上就是PyQt5中QCalendarWidget的基本使用示例,对于需要使用日历选择日期的应用程序而言,QCalendarWidget提供了非常方便的功能。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:PyQt5 QCalendarWidget 显示它 - Python技术站