pyqt5 最小化到电脑托盘
时间: 2023-07-05 14:31:59 浏览: 92
可以使用 PyQt5 中的 QSystemTrayIcon 类将应用程序最小化到系统托盘中。以下是一个简单的示例:
```python
from PyQt5.QtWidgets import QApplication, QSystemTrayIcon, QMenu
from PyQt5.QtGui import QIcon
from PyQt5.QtCore import QObject, pyqtSlot
class MyApp(QObject):
def __init__(self):
super().__init__()
self.tray_icon = QSystemTrayIcon(self)
self.tray_icon.setIcon(QIcon("my_icon.png"))
self.tray_icon.activated.connect(self.on_tray_icon_activated)
self.menu = QMenu()
self.restore_action = self.menu.addAction("Restore")
self.restore_action.triggered.connect(self.restore_app)
self.quit_action = self.menu.addAction("Quit")
self.quit_action.triggered.connect(QApplication.instance().quit)
self.tray_icon.setContextMenu(self.menu)
self.tray_icon.show()
@pyqtSlot()
def on_tray_icon_activated(self, reason):
if reason == QSystemTrayIcon.Trigger:
self.restore_app()
def restore_app(self):
self.tray_icon.hide()
# restore the application
# ...
if __name__ == '__main__':
app = QApplication([])
my_app = MyApp()
app.exec_()
```
这个示例中,我们创建了一个 QSystemTrayIcon 对象,并设置了一个图标和一个菜单。当用户点击托盘图标时,会触发 `on_tray_icon_activated` 方法,我们可以在这个方法中处理恢复应用程序的逻辑。另外,我们还创建了一个 `restore_app` 方法,用于恢复应用程序。在这个方法中,我们可以将应用程序从托盘中恢复,例如显示主窗口等。