老师原课件下载地址:
有积分的朋友,支持下我,打赏也OK。
不下载也可以,我每节课会吧代码贴出来
视频链接
课程重点
代码位置
完整代码
'''
日历控件
QCalendarWidget
'''
import sys,math
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class MyCalendar(QWidget):
def __init__(self):
super(MyCalendar, self).__init__()
self.initUI()
def initUI(self):
self.cal = QCalendarWidget(self)
self.cal.setMinimumDate(QDate(1988,1,1))
self.cal.setMaximumDate(QDate(2088,1,1))
self.cal.setGridVisible(True)
self.cal.move(20,20)
self.cal.clicked.connect(self.showDate)
self.label = QLabel(self)
date = self.cal.selectedDate()
self.label.setText(date.toString("yyyy-MM-dd dddd"))
self.label.move(20,300)
self.resize(400,350)
self.setWindowTitle("日历演示")
def showDate(self,date):
#self.label.setText((date.toString("yyyy-MM-dd dddd"))) # 这个调用了date参数
self.label.setText((self.cal.selectedDate().toString("yyyy-MM-dd dddd")))
if __name__ == '__main__':
app = QApplication(sys.argv)
main = MyCalendar()
main.show()
sys.exit(app.exec_())
遇到的问题
没问题,简单
改写效果展示
改写注意点
改写代码(QTdesigner模式)
# -*- coding:utf-8 -*-
'''
@Author: knocky
@Blog: https://blog.csdn.net/zzx188891020
@E-mail: 188891020@qq.com
@File: class56.py
@CreateTime: 2020/5/18 12:09
'''
import sys
from PyQt5.QtWidgets import QApplication,QWidget
from PyQt5 import uic
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class my_form(QWidget):
def __init__(self):
super().__init__()
uic.loadUi('../ui_package/class56.ui', self)
self.cal.clicked.connect(self.showDate)
# 标签初始化,避免一开始就显示textlabel
date = self.cal.selectedDate()
self.label.setText(date.toString("yyyy-MM-dd dddd"))
def showDate(self, date):
# self.label.setText((date.toString("yyyy-MM-dd dddd"))) # 这个调用了date参数
self.label.setText((self.cal.selectedDate().toString("yyyy-MM-dd dddd")))
if __name__ == '__main__':
app = QApplication(sys.argv)
main = my_form()
main.show()
sys.exit(app.exec_())