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

PyQt5 之QMenu菜单栏

一、常用方法

image

二、示例

image

from PyQt5 import QtWidgets, QtCore, QtGuiclass Demo(QtWidgets.QMainWindow):def __init__(self):super().__init__()self.resize(400, 400)menuBar = self.menuBar()m1 = menuBar.addMenu("打开")action = QtWidgets.QAction(QtGui.QIcon('default.png'), "文件", self)action.triggered.connect(self.open_file)action.setShortcut("Ctrl+O")m1.addAction(action)# 设置分割线
        m1.addSeparator()menu = QtWidgets.QMenu(self)menu.setTitle("更多")menu.addAction("打开")m1.addMenu(menu)def open_file(self):path, _ = QtWidgets.QFileDialog.getOpenFileName(None, "选择文件", "", "图片文件(*.png;*.jpg)")if path != "":print(path)else:print('取消')def contextMenuEvent(self, event):menu = QtWidgets.QMenu(self)a1 = QtWidgets.QAction("测试1")a2 = QtWidgets.QAction("测试2")menu.addActions([a1, a2])action = menu.exec_(self.mapToGlobal(event.pos()))if action == a1:print("click 测试1")elif action == a2:print("click 测试2")if __name__ == '__main__':app = QtWidgets.QApplication([])d = Demo()d.show()app.exit(app.exec_())

 

http://www.agseo.cn/news/76/

相关文章:

  • [TJOI2015] 概率论 题解
  • Linux进程与线程
  • 事半功倍是蠢蛋51 大上黑白屏反色
  • Linux 启动耗时优化 1s 内启动(RK3588 平台)
  • 周总结报告5
  • 使用模拟库进行测试的意义是什么?
  • MyEMS:开源领域的能源管理创新解决方案
  • 【Containerd交互命令】ctr、crictl常用基本命令
  • DAG Matters! GFlowNets Enhanced Explainer For Graph Neural Networks | |
  • abap字符串操作
  • [完结16章]COZE AI 智能体开发体系课(从入门到高级)零基础零代码
  • 推出其新一代高性能Sub-GHz射频收发芯片UM2011A
  • 在 Athena UDF 中使用 Java 将数据写入 DynamoDB
  • Pychram 激活
  • 掌控AI编程全链路:Cline让你随意选模型、透明成本、零信任安全 - 公众号
  • 数据库事务隔离级别引发的应用安全竞态条件漏洞分析
  • Node-Red学习笔记
  • 隧道工程LoRa无线监测设备集成方案 直击隧道深部监测痛点
  • 【k8s】为什么ctr导入后通过crictl查看不到导入的镜像
  • Swift 结合 Tesseract 进行验证码识别
  • 当虚拟机目录空间不足时的扩容
  • 使用IText创建PDF
  • MyEMS 深度解析:碳管理赋能与系统集成的实践路径
  • uv包管理 - 小学弟
  • 对口型视频创作指南:AI如何让“假唱”变成真艺术?
  • 用Python + Tesseract OCR:验证码识别全流程解析
  • Dockerfile中的yum install、yum clean和rm -rf /var/cache/yum
  • Linux 完整的用户登录工作流程详解(GUI TTY)
  • 0 元夺宝小程序介绍
  • 线上频繁FullGC?慌得一比!竟是Log4j2的这个“特性”坑了我