日历的制作比较简单,因为pyqt5已经自带了相关的日期控制元件,只需要明白如何呼叫再加上比较个性化的功能,这个日历的小控制元件就制作完成了,
【阅读全文】
日历实作代码量不多,需要可直接执行的原始码在文末获取下载链接,
在制作程序中使用到的python模块包说明:
from PyQt5.QtWidgets import * # 视窗组件
from PyQt5.QtCore import * # 核心组件、日历组件就是在这个库
import sys # 作业系统处理库
在小日历的制作程序中只使用了一个槽函式,就是将当前选中的日历时间进行字符串的格式化以后再显示到下面的标签控制元件上,只需要一句代码就可以实作了,
def calender_show(self):
'''
当前日历展示的槽函式
:return:
'''
selected = self.calender_.selectedDate()
self.current_date.setText('您当前选中的日期是:{}'.format(selected.toString("yyyy-MM-dd dddd")))
在每个 GUI 的应用中代码量比较多的还是 UI 界面的使用上面,下面就是相关控制元件的初始化和显示程序,
def init_ui(self):
'''
日历UI界面函式
:return:
'''
self.setWindowTitle("我的小日历") # 设定标题
vbox = QVBoxLayout() # 创建垂直布局
'''创建日历控制元件物件'''
self.calender_ = QCalendarWidget()
self.calender_.setGridVisible(True) # 设定日期控制元件使用网格布局
self.calender_.setMinimumDate(QDate(1970, 1, 1)) # 设定最小日期
self.calender_.setMaximumDate(QDate(3200, 1, 1)) # 设定最大日期
self.calender_.setFirstDayOfWeek(Qt.Monday) # 设定星期一为每周的第一天
self.calender_.clicked[QDate].connect(self.calender_show)
vbox.addWidget(self.calender_) # 将日历控制元件加入垂直布局
self.current_date = QLabel()
self.calender_show()
vbox.addWidget(self.current_date) # 将显示标签加入布局
self.setLayout(vbox) # 将垂直布局作为主布局加入
【往期精彩】
将几万张图片合成一张图片,制作一个超赞的马赛克图!
小工具批量将mp3音频格式转换为wav格式
不用H5,直接使用pywebio模块实作网页
解决pyinstaller打包程序中外部资源无法加载的问题 ...
pyqt5做了一个二维码生成器,已打包成exe可执行程序...
欢迎关注作者公众号【Python 集中营】,专注于后端编程,每天更新技术干货,不定时分享各类资料!
0 评论