網(wǎng)站設(shè)計制作過程拒絕使用模板建站;使用PHP+MYSQL原生開發(fā)可交付網(wǎng)站源代碼;符合網(wǎng)站優(yōu)化排名的后臺管理系統(tǒng);成都網(wǎng)站建設(shè)、網(wǎng)站制作收費合理;免費進行網(wǎng)站備案等企業(yè)網(wǎng)站建設(shè)一條龍服務(wù).我們是一家持續(xù)穩(wěn)定運營了10余年的成都創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司。
【閱讀全文】
將之前寫的小鬧鐘包裝一下,讓其最小化到托盤后臺運行。鬧鐘本身是一個監(jiān)聽程序,若是一直放在任務(wù)欄不小心點掉了就很麻煩。
所以說明一下托盤的使用方法,這里以之前的小鬧鐘案例為例,沒有的到我的公眾號內(nèi)'PyQt5 UI'的菜單去查看,或者號內(nèi)直接回復‘小鬧鐘’獲取源碼即可。
需要獲取升級以后的源代碼在文末獲取下載鏈接。
最小化到托盤,使用這個PyQt5模塊就夠用了。
from PyQt5.QtWidgets import *
首先不管其他的,先創(chuàng)建一個類實現(xiàn)托盤功能,最后將托盤功能融入到小鬧鐘的源代碼里面應(yīng)用就成了。
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('小鬧鐘設(shè)置', self, triggered=self.manage_clock)
self.quit_action = QAction('退出應(yīng)用', 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
單擊鼠標右鍵時會出現(xiàn)兩個菜單按鈕,分別是'小鬧鐘設(shè)置'、'退出應(yīng)用'。只有在托盤中選擇退出應(yīng)用時,小鬧鐘程序才會真正的停止運行。
使用時在原有的小鬧鐘應(yīng)用的init_ui()函數(shù)中調(diào)用一下TrayModel這個類就成了。
self.tray = TrayModel(self)
最后,為了使點擊小鬧鐘應(yīng)用的主窗口時防止應(yīng)用退出需要重寫一下這個函數(shù)。
def closeEvent(self, a0: QCloseEvent) -> None:
a0.ignore()
self.hide()
self.tray.show()
整合上面這些就完成了小鬧鐘的托盤化升級改造。
公眾號內(nèi)回復"升級小鬧鐘"獲取升級以后的小鬧鐘直接運行就可以了。
我是 [Python 集中營]、很高興您看到了最后, 我是一個專注于 Python 知識分享的公眾號,希望可以得到您的關(guān)注~
【往期精彩】
pyinstaller打包exe文件太大,利用pipenv輕松解決!
PyQt5 小工具:Excel數(shù)據(jù)分組匯總器...
異常:存儲MYSQL轉(zhuǎn)義數(shù)據(jù)保證數(shù)據(jù)存儲的準確性...
做一個小鬧鐘,按規(guī)劃做事...
使用pyqt5的日期控件做一個小日歷方便查看...