pyqt5显示任务栏菜单并隐藏主窗口,环境pyqt5+vscode

发布于:2025-08-03 ⋅ 阅读:(12) ⋅ 点赞:(0)

环境

pyqt5+vscode
环境搭建见
https://blog.csdn.net/huiaifen/article/details/125175261

新建一个QMainWindow

1

在VSCode的资源管理器中,右键选择 PYQT:New Form,打开Qt Designer
在这里插入图片描述

2

在打开的窗口中选 “Main Window”,然后选“创建”
在这里插入图片描述

3

直接保存为“test.ui”
在这里插入图片描述

4

在vs code中,右键点击test.ui,选 “PYQT: Compile Form”。生成 “Ui_test.py”
在这里插入图片描述

5

新建“main.py”,输入代码如下。

from PyQt5.QtWidgets import QApplication,QMainWindow
from PyQt5.QtWidgets import QSystemTrayIcon, QMenu, QAction
from PyQt5.QtGui import QIcon
 
import sys

from Ui_test import Ui_MainWindow    #从文件Ui_test.py 中 载入上面的类
class MyMainWindow(QMainWindow, Ui_MainWindow):
    def __init__(self,  parent=None):    #parent 参数,其他参数也加在这里
        super(MyMainWindow,  self).__init__(parent)
        self.setupUi(self)
        tray_icon = QSystemTrayIcon(QIcon('icon.png'), app)#生成任务栏图标,并设置图标
        menu = QMenu()#创建一个QMenu
        show_action = QAction("显示",self)#添加一个选项,名称是“显示”。用以显示主窗口
        show_action.triggered.connect(self.showAction)#连接选项和触发函数
        hide_action = QAction("隐藏",self)#添加一个选项,用以隐藏主窗口
        hide_action.triggered.connect(self.hideAction)
        exit_action = QAction('Exit', app)#添加一个选项,用以退出程序
        exit_action.triggered.connect(app.quit)
        menu.addAction(show_action)#将选项添加到菜单中
        menu.addAction(hide_action)#将选项添加到菜单中
        menu.addAction(exit_action)#将选项添加到菜单中
        tray_icon.setContextMenu(menu)#将菜单添加到任务栏图标中
        tray_icon.show()#显示任务栏图标
    
    def showAction(self):
    #显示主窗口的回调函数
        self.show()
    def hideAction(self):
    #隐藏主窗口的回调函数
        self.hide()

if __name__=="__main__":            #运行
    app = QApplication(sys.argv)
    myWin = MyMainWindow()
    myWin.show()
    sys.exit(app.exec_())

按三角形按钮运行
在这里插入图片描述
显示主窗口和任务栏图标。右键点击任务栏图标显示菜单。
在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到