pyqt5 实现托盘弹框
时间: 2023-12-05 13:05:50 浏览: 140
Qt 5.5 托盘功能实现
5星 · 资源好评率100%
以下是使用PyQt5实现托盘弹框的示例代码:
```python
import sys
from PyQt5.QtWidgets import QApplication, QSystemTrayIcon, QMenu, QAction
class SystemTrayIcon(QSystemTrayIcon):
def __init__(self, parent=None):
super(SystemTrayIcon, self).__init__(parent)
self.setToolTip('System Tray Icon')
self.setIcon(self.style().standardIcon(QSystemTrayIcon.Information))
menu = QMenu(parent)
show_action = QAction("Show", parent)
quit_action = QAction("Quit", parent)
menu.addAction(show_action)
menu.addAction(quit_action)
self.setContextMenu(menu)
show_action.triggered.connect(self.show_message)
quit_action.triggered.connect(self.quit)
def show_message(self):
self.showMessage("Title", "Message", QSystemTrayIcon.Information, 5000)
def quit(self):
QApplication.quit()
if __name__ == '__main__':
app = QApplication(sys.argv)
tray_icon = SystemTrayIcon()
tray_icon.show()
sys.exit(app.exec_())
```
在这个示例中,我们创建了一个`SystemTrayIcon`类,继承自`QSystemTrayIcon`。在`SystemTrayIcon`类的构造函数中,我们设置了托盘图标的提示信息、图标、菜单和菜单项,并连接了菜单项的信号和槽函数。在`show_message`函数中,我们使用`showMessage`函数显示了一个弹框,其中包含了标题、消息、图标和显示时间。在`quit`函数中,我们使用`QApplication.quit`函数退出了应用程序。
阅读全文