如何在PYQT里隐藏已折叠的任务栏图标?
时间: 2024-12-12 16:29:16 浏览: 28
在PyQt中,如果你想在窗口折叠(如最小化)后隐藏任务栏图标,你需要确保你的窗口类实现了`QSystemTrayIcon`或者`QMenu`相关的功能,因为系统托盘图标通常用来管理最小化的窗口。以下是一个简单的例子,展示了如何创建一个系统托盘图标来替代任务栏上的显示:
```python
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QSystemTrayIcon, QIcon, QWidget
from PyQt5.QtGui import QFontMetrics
class MainWindow(QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
# 初始化系统托盘图标
tray_icon = QSystemTrayIcon(QIcon('path_to_icon.png'), self)
# 显示图标到托盘
tray_icon.show()
# 添加菜单项
menu = QMenu()
quit_action = QAction('退出', self)
quit_action.triggered.connect(qApp.quit) # 关闭应用程序
menu.addAction(quit_action)
tray_icon.setContextMenu(menu)
# 当窗口最小化时,显示在托盘
self.statusBar().hide() # 隐藏窗体状态栏
self.on_minimize()
def on_minimize(self):
self.hide() # 最小化窗口
tray_icon.showMessage('窗口已最小化', '双击托盘图标恢复', QSystemTrayIcon.MessageIcon.NoIcon, 2000) # 显示提示信息
app = QApplication([])
main_window = MainWindow()
app.exec_()
```
在这个示例中,当你最小化窗口时,窗口本身会被隐藏,而托盘图标会在消息区域显示一个提示,告知用户窗口已经最小化。点击托盘图标即可恢复窗口。
阅读全文
相关推荐
















