python通知 设置系统托盘图标
python QSystemTrayIcon.setIcon
QSystemTrayIcon.setIcon
是一个用于设置系统托盘图标的方法,它是 PyQt5 或 PySide 中的 Qt 库的一部分。这个方法让你可以设置系统托盘图标,它可以接受一个 QIcon
对象作为参数。
以下是一些使用 QSystemTrayIcon.setIcon
的方法:
import sys from PyQt5.QtWidgets import QApplication, QWidget, QSystemTrayIcon, QMenu from PyQt5.QtGui import QIcon class TrayIconExample(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): # 创建一个系统托盘图标 self.tray_icon = QSystemTrayIcon(self) self.tray_icon.setIcon(QIcon(r"C:\Users\Administrator\Desktop\flask\2747.png")) # 设置气泡提示的图标,你需要一个图标文件 self.tray_icon.setToolTip('My App') # 设置气泡提示的文本 # 创建一个弹出菜单 menu = QMenu() exitAction = menu.addAction("Exit") exitAction.triggered.connect(self.exit) # 将弹出菜单与系统托盘图标关联 self.tray_icon.setContextMenu(menu) # 将应用程序隐藏到系统托盘 self.hide() self.tray_icon.show() # 连接气泡提示信号 self.tray_icon.activated.connect(self.onTrayIconActivated) def onTrayIconActivated(self, reason): if reason == QSystemTrayIcon.Trigger: # 当用户单击气泡提示时,执行一些操作 print("Notification clicked!") def exit(self): # 退出应用程序 sys.exit() if __name__ == '__main__': app = QApplication(sys.argv) ex = TrayIconExample() sys.exit(app.exec_())
-
直接传入一个
QIcon
对象:
from PyQt5.QtWidgets import QSystemTrayIcon, QApplication
from PyQt5.QtGui import QIcon
app = QApplication([])
trayIcon = QSystemTrayIcon()
icon = QIcon('path_to_your_icon.png') # 替换为你的图标路径
trayIcon.setIcon(icon)
trayIcon.show()
app.exec_()
-
使用
QIcon
的fromTheme
方法来加载主题图标:
from PyQt5.QtWidgets import QSystemTrayIcon, QApplication
from PyQt5.QtGui import QIcon
app = QApplication([])
trayIcon = QSystemTrayIcon()
icon = QIcon.fromTheme('edit-copy') # 替换为你想要的图标名称
trayIcon.setIcon(icon)
trayIcon.show()
app.exec_()
-
使用
QIcon
的addPixmap
方法来加载不同分辨率的图标:
from PyQt5.QtWidgets import QSystemTrayIcon, QApplication
from PyQt5.QtGui import QIcon
app = QApplication([])
trayIcon = QSystemTrayIcon()
icon = QIcon()
icon.addPixmap(QPixmap("lowres.png"), QIcon.Normal, QIcon.Off)
icon.addPixmap(QPixmap("hires.png"), QIcon.Normal, QIcon.On)
trayIcon.setIcon(icon)
trayIcon.show()
app.exec_()
注意:在使用 QSystemTrayIcon.setIcon
方法时,你需要调用 trayIcon.show()
方法来显示图标。如果你想要图标在点击时有一些反馈,你可以连接信号槽到 QSystemTrayIcon.activated
。
例如:
from PyQt5.QtWidgets import QSystemTrayIcon, QApplication
from PyQt5.QtGui import QIcon
app = QApplication([])
def onActivated(reason):
print("Tray icon activated: ", reason)
trayIcon = QSystemTrayIcon()
icon = QIcon('path_to_your_icon.png') # 替换为你的图标路径
trayIcon.setIcon(icon)
trayIcon.activated.connect(onActivated)
trayIcon.show()
app.exec_()
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?