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

PyQt入门指南三十五 QAction动作组件

在PyQt中,QAction 是一个非常常用的组件,用于表示应用程序中的一个动作,比如菜单项、工具栏按钮或者快捷键。QAction 可以被添加到 QMenuQToolBar 或者直接作为一个按钮使用。

下面是一个简单的例子,展示了如何创建一个 QAction 并将其添加到菜单和工具栏中:

 
import sys
from PyQt5.QtWidgets import QApplication, QMainWindow, QAction, QToolBar, QMenuclass MainWindow(QMainWindow):def __init__(self):super().__init__()# 创建一个QAction实例self.action = QAction('Open', self)self.action.setShortcut('Ctrl+O')  # 设置快捷键self.action.setStatusTip('Open a file')  # 设置状态栏提示self.action.triggered.connect(self.on_open)  # 连接信号槽# 创建一个菜单栏menubar = self.menuBar()file_menu = menubar.addMenu('&File')file_menu.addAction(self.action)  # 将QAction添加到菜单中# 创建一个工具栏toolbar = QToolBar(self)toolbar.addAction(self.action)  # 将QAction添加到工具栏中# 设置主窗口的中心部件(这里可以设置任何QWidget子类)self.setCentralWidget(None)def on_open(self):print('Open action triggered')if __name__ == '__main__':app = QApplication(sys.argv)mainWin = MainWindow()mainWin.show()sys.exit(app.exec_())

在这个例子中,我们创建了一个名为 MainWindow 的类,它继承自 QMainWindow。在这个类的构造函数中,我们做了以下几件事:

  1. 创建了一个 QAction 实例,并设置了它的文本、快捷键、状态栏提示以及触发的槽函数。
  2. 创建了一个菜单栏,并在其中添加了一个名为 "File" 的菜单。
  3. 将 QAction 添加到了 "File" 菜单中。
  4. 创建了一个工具栏,并将 QAction 添加到了工具栏中。
  5. 定义了一个槽函数 on_open,当 QAction 被触发时,这个函数会被调用。

运行这个程序,你会看到一个带有菜单栏和工具栏的主窗口。点击菜单栏中的 "File" -> "Open" 或者点击工具栏上的按钮,或者按下快捷键 Ctrl+O,都会触发 on_open 函数,并在控制台打印出 "Open action triggered"。

QAction 还有很多其他的属性和方法,比如可以设置图标、启用/禁用动作、检查动作是否被选中等等。你可以根据需要使用这些功能来增强你的应用程序。


http://www.mrgr.cn/news/61960.html

相关文章:

  • 研二了,该想想做啥呢?
  • 基于vue框架的的家政预定服务系统4k26i(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。
  • 飞书文档解除复制限制
  • 行业首发|美格智能创新推出5G+Wi-Fi 7智能终端解决方案,端侧AI助力数智升维
  • 深度学习案例:带有一个隐藏层的平面数据分类
  • Spring事务的实现方式
  • OpenCV基本操作(python开发)——(7)实现图像校正
  • 【网络】1.UDP通信
  • 空气断路器和真空断路器介绍
  • 端到端拥塞控制的公平性和稳定性
  • 一个方法助你快速取消Word文档只读模式
  • HTTP的初步了解
  • golang gin ShouldBind的介绍和使用
  • LivePortrait——生成可拼接和重定向控制的高效肖像动画翻译
  • 【约束优化】一次搞定拉格朗日,对偶问题,弱对偶定理,Slater条件和KKT条件
  • asp.net webapi实现FileStreamResult
  • Maven下载安装配置(环境、本地仓库、阿里云、jdk、idea)(Win11)
  • 论分布式存储系统架构设计
  • 为什么资产管理中会用到RFID系统
  • NavVis LX系列产品典型应用—现有住宅装修改造-沪敖3D
  • 使用SPM为ios项目添加lookin所遇问题总结
  • 记MySQL下一次DEPENDENT SUBQUERY的优化
  • 从0学习React(10)
  • 代码随想录算法训练营第三十一天|Day31 贪心算法
  • 【PG高可用】patroni配置文件
  • 怎样禁止运行电脑某个软件(如何禁止运行电脑软件)?3分钟学会这4招!