日历的制作比较简单,因为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可执行程序...