当前位置: 首页 > ai >正文

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

环境

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 QIconimport sysfrom 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()#创建一个QMenushow_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_())

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

http://www.xdnf.cn/news/16792.html

相关文章:

  • JVM 03 类加载机制
  • Python打卡Day30 模块和库的导入
  • LeetCode 刷题【26. 删除有序数组中的重复项、27. 移除元素、28. 找出字符串中第一个匹配项的下标】
  • vue2一种快速导入 Element UI(即 Element 2.x)方式
  • ARM Cortex-M异常处理高级特性详解
  • MCP Agent 工程框架Dify初探
  • 【C++】类和对象(2)
  • AI Agent开发学习系列 - LangGraph(4): 有多个输入的Graph(练习解答)
  • 设计模式篇:在前端,我们如何“重构”观察者、策略和装饰器模式
  • Android 运行 deno 的新方法 (3): Termux 胖喵安初
  • vue3pinia
  • 深度学习核心:卷积神经网络 - 原理、实现及在医学影像领域的应用
  • vue3 新手学习入门
  • Elasticsearch 混合检索一句 `retriever.rrf`,把语义召回与关键词召回融合到极致
  • Agents-SDK智能体开发[5]之集成MCP进阶
  • 【vue】创建响应式数据ref和reactive的区别
  • Ⅹ—6.计算机二级综合题23---26套
  • 两个服务之间的大规模数据推送
  • TOGAF指南1
  • Thymeleaf 模板引擎原理
  • 网站QPS多少才算高并发
  • c++和python联合编程示例
  • 5-EP4CE10F17C8-引脚配置
  • MySQL 高并发下如何保证事务提交的绝对顺序?
  • 向量投影计算,举例说明
  • 幂等性校验(订单重复提交问题)
  • X2Doris是SelectDB可视化数据迁移工具,安装与部署使用手册,轻松进行大数据迁移
  • Spring AI MCP:解锁大模型应用开发新姿势
  • 关于继承的一些知识(C++)
  • 层次聚类:无需“猜”K值,如何让数据自己画出“家族图谱”?