
【閱讀全文】
將之前寫的小鬧鐘包裝一下,讓其最小化到托盤后臺運行,鬧鐘本身是一個監聽程式,若是一直放在任務欄不小心點掉了就很麻煩,
所以說明一下托盤的使用方法,這里以之前的小鬧鐘案例為例,沒有的到我的公眾號內'PyQt5 UI'的選單去查看,或者號內直接回復‘小鬧鐘’獲取原始碼即可,
需要獲取升級以后的源代碼在文末獲取下載鏈接,
最小化到托盤,使用這個PyQt5模塊就夠用了,
from PyQt5.QtWidgets import *
首先不管其他的,先創建一個類實作托盤功能,最后將托盤功能融入到小鬧鐘的源代碼里面應用就成了,
class TrayModel(QSystemTrayIcon):
def __init__(self, Window):
super(TrayModel, self).__init__()
self.window = Window
self.init_ui()
def init_ui(self):
# 初始化選單
self.menu = QMenu()
self.manage_action = QAction('小鬧鐘設定', self, triggered=self.manage_clock)
self.quit_action = QAction('退出應用', self, triggered=self.quit_clock)
self.menu.addAction(self.manage_action)
self.menu.addAction(self.quit_action)
self.setContextMenu(self.menu)
self.setIcon(QIcon('clock.ico'))
self.icon = self.MessageIcon()
self.activated.connect(self.app_click)
def manage_clock(self):
self.window.showNormal()
self.window.activateWindow()
def quit_clock(self):
qApp.quit()
def app_click(self, reason):
pass
單擊滑鼠右鍵時會出現兩個選單按鈕,分別是'小鬧鐘設定'、'退出應用',只有在托盤中選擇退出應用時,小鬧鐘程式才會真正的停止運行,
使用時在原有的小鬧鐘應用的init_ui()函式中呼叫一下TrayModel這個類就成了,
self.tray = TrayModel(self)
最后,為了使點擊小鬧鐘應用的主視窗時防止應用退出需要重寫一下這個函式,
def closeEvent(self, a0: QCloseEvent) -> None:
a0.ignore()
self.hide()
self.tray.show()
整合上面這些就完成了小鬧鐘的托盤化升級改造,
公眾號內回復"升級小鬧鐘"獲取升級以后的小鬧鐘直接運行就可以了,
我是 [Python 集中營]、很高興您看到了最后, 我是一個專注于 Python 知識分享的公眾號,希望可以得到您的關注~

【往期精彩】
pyinstaller打包exe檔案太大,利用pipenv輕松解決!
PyQt5 小工具:Excel資料分組匯總器...
例外:存盤MYSQL轉義資料保證資料存盤的準確性...
做一個小鬧鐘,按規劃做事...
使用pyqt5的日期控制元件做一個小日歷方便查看...
歡迎關注作者公眾號【Python 集中營】,專注于后端編程,每天更新技術干貨,不定時分享各類資料!轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/412878.html
標籤:Python
