PyQt5系列文章
效果图
完整代码
import sys
from PyQt5.QtWidgets import QCalendarWidget,QLabel,QVBoxLayout,QWidget,QApplication,QMainWindow
from PyQt5.QtCore import QDate
class QCalendarWidgetDemo(QMainWindow):
def __init__(self):
super(QCalendarWidgetDemo, self).__init__()
self.resize(400, 150)
self.setWindowTitle("QCalendarWidgetDemo")
calendar = QCalendarWidget(self)
calendar.setGridVisible(True)
# 点击日历,传入QDate数据
calendar.clicked[QDate].connect(self.showDate)
self.label = QLabel(self)
date = calendar.selectedDate()
self.label.setText(date.toString())
layout = QVBoxLayout()
layout.addWidget(calendar)
layout.addWidget(self.label)
mainFrame = QWidget()
mainFrame.setLayout(layout)
self.setCentralWidget(mainFrame)
def showDate(self, date):
self.label.setText(date.toString())
if __name__ == '__main__':
app = QApplication(sys.argv)
main = QCalendarWidgetDemo()
main.show()
sys.exit(app.exec_())