PyQt(Python+Qt)学习随笔:Action功能详解及Designer中的操作方法

Qt之Action ActionAction控件封装应用程序的 动作命令; Action可以添加到菜单、工具条中,由用户触发或通过快捷键调用。 使用Action最大好处是出现在多个位置的 Action可以自动同步,如可以将一个Action添加到菜单栏和工具栏,当修改了Action的某些属性时候,菜单栏和工具栏的对应的按钮会同步变化。Action具有triggered()信号通过连接这个信号,可以响应Action的动 阅读详情

一、引言

Qt Designer中的部件栏并没Action相关的部件,Action可以在右侧的Action Editor中编辑,如图:

在这里插入图片描述
如果没有出现Action Editor,可以通过鼠标右键的弹出菜单将其打开,如图:
在这里插入图片描述

二、Action

2.1、功能

Action是Qt中单独引入的一个对象,对应QAction类。Action表示一个独立的操作,是将界面上某个可以通过菜单、快捷键、toolBar按钮执行的同一个操作映射到同一个Action对象,由该对象通过信号触发实际的操作。

2.2、Action的属性

Action对象在Qt Designer中可以设置快捷键、图标、toolTip、是否可选择等属性,可以通过triggered()信号连接槽函数。如图:
在这里插入图片描述

2.3、Action创建的方法

在Qt Designer中,可以两种方法创建Action对象,一种是菜单定义时,一种是单独定义。

2.3.1、定义菜单创建Action

在Qt Designer中创建菜单时,如果对应菜单是最终执行的菜单项,则添加菜单项时自动创建了对应的Action对象,炳辉自动建立二者的关联。如图:
在这里插入图片描述
上图录入了一个“member manage”的菜单,但还未最终提交,可以看到右下角的Action Editor中并没有对应的Action对象。录入完成后情况如下:
在这里插入图片描述

2.3.2、直接创建Action

在Qt Designer的Action Editor中可以直接创建新的Action对象,如图:
在这里插入图片描述
点击上面蓝色圈标记的图标就可以Action属性编辑界面,如图:

在这里插入图片描述
可以在属性编辑中设置相关的属性。

2.4、Action关联menu菜单

通过菜单创建的Action,已经与菜单自动关联,如果是单独创建的Action,需要与菜单挂接时,直接将Action Editor中定义好的Action对象拖拽到菜单栏上即可以新建一个与Action对应的单独菜单项,从而实现Action与菜单的关联。

2.5、Action关联toolBar工具栏

创建的Action对象,如果需要在toolBar中呈现,需要将Action与toolBar挂接时,直接将Action Editor中定义好的Action对象拖拽到toolBar上即可。

2.6、Action通过代码关联toolBar、menu

一个已经存在的Action对象,除了上面介绍的在Qt Designer中实现与toolBar、menu关联的方法外,还可以直接通过代码实现关联。关联方法为:
toolBar对象.addAction(action对象)
menu对象.addAction(action对象)

实际上通过Qt Designer在界面上的关联也是通过addAction方法实现的,界面生成的代码如下例所示:

		self.menusystem.addAction(self.actionQuit)
        self.menusystem.addAction(self.actionAbout)
        self.menusystem.addAction(self.actionFind)
        self.toolBar.addAction(self.actionQuit)
        self.toolBar.addAction(self.actionAbout)
        self.toolBar.addAction(self.actionFind)

Action对象通过menu、toolBar调用addAction方法挂接到菜单和toolBar上,挂接后在菜单上就是一个新增的独立菜单项,在toolBar上就是新增的一个toolBar按钮。

2.7、Action的信号

Action与菜单和工具栏挂接后,只是实现了相关的关联关系,但并不能执行响应操作,真正的响应操作是通过Action的信号与对应槽函数连接实现的。

Action提供了4种信号:

  • changed()信号:当修改Action的属性时触发,如修改Action的toolTip信息
  • hovered()信号:当Action关联的菜单项或toolBar在鼠标停留在其上,或者按下了Action的快捷键时触发
  • toggled(bool checked)信号:当Action设置了checkable属性时,关联的菜单项或toolBar在点击后会改变选中状态,此时触发toggled信号,参数为是否选中的最新状态
  • triggered(bool checked = false)信号:当Action关联的菜单项或toolBar在鼠标点击或快捷键按下时触发,也可以通过调用action对象的trigger方法触发。

以上四个Action的信号,一般情况下执行菜单、工具栏按钮以及快捷菜单的响应操作时,使用triggered(bool checked = false)信号连接槽函数来执行。

2.8、Action的信号连接槽函数的方法

Action的信号连接槽函数不能通过Designer的edit菜单的信号编辑进行编辑,不能在界面上通过连接线方式设定信号和槽的连接,只能在Designer右边的信号与槽编辑器中直接编辑,如图:
在这里插入图片描述
点击上图中蓝色圈标记的加号,新加一条信号槽函数记录,如图:
在这里插入图片描述
双击记录中每个字段对每个字段进行编辑,编辑后的结果如下图案例:
在这里插入图片描述
注意信号一般选择triggered,slot选择一个系统具有的或通过信号和槽编辑已经增加的槽函数都可以。

老猿Python,跟老猿学Python!

博文目录

博客地址

PyQt Designer入门指南:可视化GUI开发与Python桌面应用实战 图形用户界面(GUI)开发是桌面应用构建的核心环节,其原理在于通过控件库和布局管理器实现用户交互的可视化。在Python生态中,PyQt作为成熟的GUI框架,结合其可视化设计工具PyQt Designer,能显著提升开发效率。PyQt Designer采用拖拽式界面设计,自动生成UI描述文件,开发者可专注于业务逻辑实现,这一技术价值在于降低GUI开发门槛并加速原型迭代。其应用场景广泛,涵盖数据工具、办公自动化及小型桌面软件等。本文以PyQt Designer为切入点,详解环境搭建、控件拖拽、信号槽机制及项目 阅读详情

相关推荐

[PyQt]使用Qt Designer设计师完成PyQt界面图标设计

开发环境 Python3.5.3 + PyQt5.6 + PyCharm2017.2开发环境暂不赘述,打开Qt Designer后,右键空白处添加工具栏 顶栏处 文件 编辑 关于都是通过双击在这里输入后,键入名称后回车实现,并可根据需要插入分隔符。 此时,单击文件会出现在这里输入,这相当于子栏目,添加方法同上一行所述。同理,在编辑栏目下也可如此。本文在文件下添加了打开,新建,在编辑下添加了

江东风又起 2万+

QAction类详解:

先贴一段描述:Qt文档原文: Detailed Description The QAction class provides an abstract user interface action that can be inserted into widgets. In applications many common commands can be invoked via menus, to...

weixin_30746117的博客 1396

PyQt5入门指南:从零构建专业级Python桌面应用

图形用户界面(GUI)编程是现代软件开发的核心技能之一,它通过可视化组件实现人机交互,极大提升了软件的易用性和功能性。其底层原理基于事件驱动模型,通过响应用户操作来执行相应逻辑。在Python生态中,PyQt5作为Qt框架的Python绑定,提供了强大的技术价值,能够帮助开发者快速构建跨平台、功能丰富的桌面应用程序。PyQt5不仅支持复杂的界面布局和丰富的控件库,还通过信号与槽机制实现了松耦合的组件通信,显著提升了代码的可维护性。在应用场景上,它广泛适用于数据可视化工具、内部管理系统、科学计算界面等需要专业

weixin_34326558的博客 339

PyQt的动作(QAction)

前言: Qt的设计师程序能够识别用户界面中用户做同样事情时所经常使用的不同种方法。例如,在许多应用中创建一个新文件可以使用File->New菜单项,或者通过点击按钮图标,或者使用快捷键等。对于用户是如何执行动作的我们并不关心,关心他们到底在做什么。PyQt会使用QAction类来封装用户的动作。所以,若要创建一个“文件->新建”的动作,可以像这样写代码: fileNewAction =...

热铁皮屋上的猫的博客 1万+

PyQt 中理解 Qt 中的 Action

在 Qt 中,Action 是通过 QAction 类实现的,而在 PyQt 中,可以通过创建 QAction 对象来定义和配置操作。通过创建和配置 QAction 对象,我们可以定义和管理各种操作,并将它们与按钮、菜单项或工具栏按钮相关联,以实现丰富的用户界面功能。通过以上代码,我们创建了一个简单的 PyQt 应用程序,其中包含一个文件菜单和一个工具栏,它们都包含一个退出动作。除了上述示例中的一些常见配置,QAction 类还提供了许多其他方法和属性,可以用于自定义和调整操作的行为和外观。

2301_79366332的博客 411

PyQt Qt Designer中创建Action的方法(Python)

通过按照以上步骤,你可以在PyQt中使用Qt Designer创建Action,并为其设置属性和槽函数。这将创建一个新的Action,并在属性编辑器中显示Action的属性。这将创建一个新的Action,并在属性编辑器中显示Action的属性。下面是一个示例程序,演示了如何使用Qt Designer创建一个简单的带有菜单栏和工具栏的主窗口,其中包含一个Action。下面是一个示例程序,演示了如何使用Qt Designer创建一个简单的带有菜单栏和工具栏的主窗口,其中包含一个Action。

HackDyno的博客 616

PyQt(Python+Qt)学习随笔:Qt Designer中Action关联menu菜单和toolBar的方法

1、Action关联菜单 通过菜单创建的Action,已经与菜单自动关联,如果是单独创建的Action,需要与菜单挂接时,直接将Action Editor中定义好的Action对象拖拽到菜单栏上即可以新建一个与Action对应的单独菜单项,从而实现Action与菜单的关联。 2、Action关联toolBar工具栏 创建的Action对象,如果需要在toolBar中呈现,需要将Action与too...

老猿Python 1748

PyQt Qt Designer中Action的信号和槽函数(Python)

在上述代码中,我们创建了一个MainWindow类,继承自QMainWindow,并使用生成的UI类初始化界面。这是一个简单的示例,你可以根据自己的需求添加更多的Action和相应的信号槽函数。在本文中,我们将学习如何在Qt Designer中使用Action,并将其与信号和槽函数结合起来实现交互功能。通过上述代码,我们成功在Qt Designer中创建了一个包含Action的界面,并实现了Action的信号和槽函数。接下来,我们可以在Python脚本中使用生成的代码,并为Action添加信号和槽函数。

2301_79366177的博客 494

PyQt(Python+Qt)学习随笔:Qt Designer中的menu菜单及menu bar菜单栏

菜单由menu bar菜单栏和menu菜单两部分构成,分别对应类QMenuBar和QMenu。 menuBar是包含一系列下拉菜单项组成,menu包含两种,一种是直接对应Action的,一种是父菜单,下面的子菜单对应Action,在此称对应了Action的菜单为菜单项(这个称呼可能与菜单项的标准说法不一致)。 1、菜单栏及菜单的界面定义操作 在Qt Designer中,如果主窗口无菜单通过在主窗口...

老猿Python 5099

使用Python在Qt Designer中创建Action的方法

Qt Designer中的Action是一种可以绑定到工具栏、菜单、快捷键等操作上的功能按钮。在Qt Designer中设计界面,并将Action的名称设置为"actionExit",Text设置为"Exit",Shortcut设置为"Ctrl+Q"。以上就是使用Python在Qt Designer中创建Action的方法和代码示例。使用Python在Qt Designer中创建Action的方法。在Qt Creator中打开.ui文件,生成对应的.py文件。

持续更新 666

MTK metadata中AF模块的移除与配置调整

本文详细介绍了在MTK平台Camera开发中如何移除metadata中的AF(自动对焦)模块。通过系统清理MTK_CONTROL_AF_REGIONS、MTK_CONTROL_MAX_REGIONS等关键配置项,并调整对焦模式及硬件特性声明,确保定制化设备在禁用自动对焦功能后的稳定运行。

q1w3e5r7t9y的博客 570

PyQt(Python+Qt)学习随笔:Qt Designer中连接Action和槽函数

在Designer中试了半天,终于找到了Action添加槽函数的方法,操作步骤: 在Designer右边界面中点击鼠标右键 确保信号/槽编辑被勾选,如图是未勾选的情况:. 勾选后会出现信号和槽的编辑界面,如图: 点击上图中蓝色圈标记的加号,新加一条信号槽函数记录,如图: 双击记录中每个字段对每个字段进行编辑 编辑后的结果如下图: 注意信号选择triggered,slot选择一个系...

老猿Python 2880

Linux命令行入门:从零掌握服务器运维与Shell脚本基础

在信息化时代,操作系统是数字世界的基石,而终端命令行则是高效驾驭服务器的核心技能。无论是软件部署、服务监控还是故障排查,掌握基于Shell的指令操作都能大幅提升工程效率。从最基础的文件目录管理、文本处理,到权限控制、进程监控与网络调试,命令行提供了一套强大且可自动化的操作范式。尤其对于运维工程师和开发者而言,理解管道、重定向以及脚本化任务,意味着将重复劳动转化为可复用的自动化流程。本文从环境准备讲起,系统梳理常用Linux命令的实际场景与输出验证,并延伸至Shell脚本编写与定时任务,帮助初学者快速建立从操

weixin_30522983的博客 255

PyQt(Python+Qt)学习随笔:Qt Designer中怎么给toolBar添加按钮

在Designer中创建了一个MainWindow窗体,当想在其中的toolBar中添加toolButton时发现怎么也放不上去,最终才发现toolBar中的按钮只能通过直接拖拽Action编辑器中的Action进行。因此相关步骤如下: 在Designer中设计界面菜单项,可以看到自动创建了对应Action; 可以通过编辑Action(双击Action),给Action修改名字、文字、对应图标以...

老猿Python 2411

从PHY芯片看工业网络精准时钟:IEEE 1588v2(PTP)协议实现与选型指南

本文深入解析了工业网络中IEEE 1588v2(PTP)协议的实现与PHY芯片选型要点。通过对比KG7101、RTL8211F等芯片的关键参数,揭示硬件时间戳对纳秒级时钟同步的决定性作用,并提供PTP网络设计中的拓扑布局与配置优化技巧,助力工业自动化场景实现精准时间同步。

weixin_42628688的博客 501

操作系统原理:【优麒麟】linux内核添加系统调用

在底端添加如下代码。

Joyce_zz的博客 2709

第15.15节 PyQt(Python+Qt)入门学习:Designer的menu菜单、toolBar工具栏和Action动作详解

Qt Designer中的MainWindow类型窗口提供了menu、toolBar相关的功能,二者通过Action进行关联。

老猿Python 5116

YOLOv11-seg 改进系列 | 引入原创 RSCD 重参数共享卷积分割头,增强 Head 表达力并压低计算量

本文提出一种改进的YOLOv11-seg分割头Segment_RSCD,通过重参数共享卷积增强表达能力。该模块在LSCD共享检测头基础上引入DiverseBranchBlock重参数卷积,保留三尺度预测与Proto掩码原型接口不变。相比原始Segment头,Segment_RSCD参数增加4%但计算量降低1.3%,在共享卷积结构中通过多分支补偿表达能力损失,同时利用Scale层保持尺度差异校准。该方法不改动Backbone/Neck结构,仅重构检测/分割头,实现训练期多路径聚合与部署期等效单分支的平衡。

qq_44224801的博客 184

python qt designer中文_PyQt(Python+Qt)学习随笔:Qt Designer中Action关联menu菜单和toolBar的方法...

1、Action关联菜单通过菜单创建的Action,已经与菜单自动关联,如果是单独创建的Action,需要与菜单挂接时,直接将Action Editor中定义好的Action对象拖拽到菜单栏上即可以新建一个与Action对应的单独菜单项,从而实现Action与菜单的关联。2、Action关联toolBar工具栏创建的Action对象,如果需要在toolBar中呈现,需要将Action与toolBa...

weixin_39832643的博客 301

5.17华为OD机试真题 新系统 - 输出二叉树后序遍历结果 (Java/Py/C/C++/Js/Go)

5.17华为OD机试真题 新系统 - 输出二叉树后序遍历结果 (Java/Py/C/C++/Js/Go)

算法大师! 518

出现 Error occurred during initialization of VMagent library failed Agent OnLoad 解决方法

ntelliJ IDEA启动时出现"Agent library failed to load"错误,主要原因是JVM代理加载失败。解决方法包括:1)完全卸载并删除用户目录下的JetBrains配置文件;2)检查并修改idea64.exe.vmoptions文件,确保路径正确并删除不必要的-javaagent参数;

码农研究僧的博客 2484

PyQt(Python+Qt)学习随笔:Qt Designer中Action的信号

Action与菜单和工具栏挂接后,只是实现了相关的关联关系,但并不能执行响应操作,真正的响应操作是通过Action的信号与对应槽函数连接实现的。 Action提供了4种信号: changed()信号:当修改Action的属性时触发,如修改Action的toolTip信息 hovered()信号:当Action关联的菜单项或toolBar在鼠标停留在其上,或者按下了Action的快捷键时触发 ...

老猿Python 1925

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

PyQt(Python+Qt)学习随笔:Qt Designer中Action创建的方法

在Qt Designer中,可以两种方法创建Action对象,一种是菜单定义时,一种是单独定义。 一、定义菜单创建Action 在Qt Designer中创建菜单时,如果对应菜单是最终执行的菜单项,则添加菜单项时自动创建了对应的Action对象,炳辉自动建立二者的关联。如图: 上图录入了一个“member manage”的菜单,但还未最终提交,可以看到右下角的Action Editor中并没有对...

老猿Python 1471

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

PyQt(Python+Qt)学习随笔:实现toolButton与Action的关联

在Qt Designer中,如果创建的窗口为主窗口QMainWindow类型,可以通过《PyQt(Python+Qt)学习随笔:Qt Designer中怎么给toolBar添加按钮 》介绍的方法现toolBar中的按钮和Action进行关联。 如果我们在界面上增加了一个toolButton按钮,也可以与Action进行关联,只是这种关联不能通过Designer进行,必须通过代码来实现,代码调用方法...

老猿Python 1647

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

如何用一套键鼠免费切换 3 台电脑:input-leap 开源 KVM 完整上手指南

工位上摆着 3 台电脑,键鼠只有一套:切到 Mac 要拔 USB 重插,切回 Linux 再插回来,一天折腾几十次,手都麻了。input-leap 是一款免费开源的软件 KVM 工具——把硬件 KVM 切换器干的事搬进软件里:鼠标滑过屏幕边缘,光标直接落到另一台电脑上,剪贴板也跟着走。这篇指南讲清安装、配置、验证和排障,照着做,两台机器半小时能跑通。 [![input-leap 跨屏键鼠共享界面

gitblog_00230的博客 73
上一篇: PyQt(Python+Qt)入门:设计师中部件toolTip、statusTip、whatsThis的属性
下一篇: PyQt(Python+Qt)学习随笔:Designer中ItemViews类部件frameShape属性
LaoYuanPython
LaoYuanPython 2020年博客之星Top3 2020年博客之星Top3 领域专家: Python技术领域 领域专家: Python技术领域
博客等级 码龄8年 15万+粉丝 1324原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LaoYuanPython

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值