日歷的制作比較簡單,因為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 集中營】,專注于后端編程,每天更新技術干貨,不定時分享各類資料!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/404329.html
標籤:Python
