Qt扫盲-QAction理论总结

article/2025/10/11 1:02:37

QAction理论总结

  • 一、概述
  • 二、使用

一、概述

在应用程序中,许多常用命令可以通过 菜单、工具栏按钮 和 键盘快捷键 调用。由于用户希望以相同的方式执行每个命令,而不管使用什么用户界面,因此将每个命令表示为一个Action操作是有效的。可以将Action添加到菜单和工具栏中,并自动使它们保持同步。(也即是一个Action可以复用到很多操作的界面里,在菜单和工具栏同样可以用一个Action)例如,在文字处理器中,如果用户按下粗体工具栏按钮粗体菜单项将自动被选中

QAction可以作为独立的对象创建,但也可以在构建菜单时创建;QMenu类包含用于创建适合作为菜单项使用的操作的便捷函数。

还有一个就是像下面,QAction可以设置 快捷键、设置 Checked 之类的。
在这里插入图片描述

二、使用

一个QAction可以包含一个图标、菜单文本、快捷方式、状态文本、“这是什么?”文本和一个工具提示。
其中大部分都可以在构造函数中设置。

它们也可以单独使用 setIcon()、setText()、setIconText()、setShortcut()、setStatusTip()、setWhatsThis()和setToolTip()来设置。对于菜单项,可以使用setFont()设置单个字体。

可以使用QWidget::addAction()或QGraphicwidget::addAction()将操作添加到部件中。注意,在使用widget之前,必须先给它添加一个操作;当快捷方式应该是全局的 (即Qt::ApplicationShortcut为Qt::ShortcutContext) 时 也是如此。

一旦创建了QAction,它应该被添加到相关的菜单和工具栏,然后连接到将要执行该操作的插槽。同时,一个 Action可以被用这好几个地方。这样操作更简便,也是软件的一个为了方便的冗余设计。

例如:

const QIcon openIcon = QIcon::fromTheme("document-open", QIcon(":/images/open.png"));
QAction *openAct = new QAction(openIcon, tr("&Open..."), this);openAct->setShortcuts(QKeySequence::Open);
openAct->setStatusTip(tr("Open an existing file"));
connect(openAct, &QAction::triggered, this, &MainWindow::open);
fileMenu->addAction(openAct);
fileToolBar->addAction(openAct);

Qt官方建议将QAction 设置为窗口的子窗口。在大多数情况下,actions是应用程序主窗口的子窗口。


http://chatgpt.dhexx.cn/article/hicDcj3l.shtml

相关文章

QAction系列详解

【详细描述】 QAction类提供了抽象的用户界面action,这些action可以被放置在窗口部件中。 应用程序可以通过菜单,工具栏按钮以及键盘快捷键来调用通用的命令。由于用户期望每个命令都能以相同的方式执行,而不管命令所使用的用户界面&#xff…

Python爬虫js处理

一、jquery发送ajax请求格式 """ 形式:$.ajax({name:val, name:val,...}); 可选字段: 1)url:链接地址,字符串表示 2)data:需发送到服务器的数据,GET与POST都可以&am…

爬虫中遇到的js反爬技术

现在的网页代码搞得越来越复杂,除了使用vue等前端框架让开发变得容易外,主要就是为了防爬虫,所以写爬虫下的功夫就越来越多。攻和防在互相厮杀中结下孽缘却又相互提升着彼此。 本文就JS反爬虫的策略展开讨论,看看这中间都有着怎样…

Python爬虫之路-JS的解析

JS的解析 学习目标: 了解 定位js的方法了解 添加断点观察js的执行过程的方法应用 js2py获取js的方法 1 确定js的位置 对于前面人人网的案例,我们知道了url地址中有部分参数,但是参数是如何生成的呢? 毫无疑问,参数肯…

nodejs 爬虫

目标:爬取百度搜索到的女生头像(百度图片通用) 1. 下载node 可以去官网下载最新版node.js安装程序。(地址:node官网) 2. 下载需要的依赖(模块) 这里需要用到superagent模块和nod…

JS逆向爬虫(一)

目录 需要做的事情 一、安装与配置文档 1、node.js安装与配置 2、VSCode安装 3、在VSCode中运行 二、JS常用算法 1、md5 线性散列算法 2、DES/AES对称加密算法 3、RSA 非对称加密算法 4、base64 伪加密算法 三、js逆向案例 1、有道笔记翻译(MD5) 进行js代码调试的流…

爬虫中js的解析

每日分享: 做人要狠 任何关系,合得来就合,合不来就散,没有什么大不了的,理解多了,迁就多了,顾忌多了,痛苦自然就多了,完全没这个必要。别说我狠,以前我比谁…

Node.js爬虫实战:如何快速获取网站数据?

思考🤔 假设你正在为公司做市场调研,你需要获得一些能够提供关于你的目标受众的信息以进行研究,但是你发现这些信息并不能直接获取。你人工地搜索每个网站是不现实的,所以你需要一种更高效、更自动化、更快速的方式来获取这些信息…

Python爬虫:抓取js生成的数据

之前的NLP课程作业要求爬取一些科技新闻来训练语言模型,本文就简单来说一说用Python来爬取新闻的过程。虽然以前写过简单的爬虫,但是没有处理过浏览器动态加载数据的情况,这次碰到了就记录一下。 这次爬取的新闻来源是 新浪科技滚动新闻&…

js爬虫

互联网 Web 就是一个巨大无比的数据库,但是这个数据库没有一个像 SQL 语言可以直接获取里面的数据,因为更多时候 Web 是供肉眼阅读和操作的。如果要让机器在 Web 取得数据,那往往就是我们所说的“爬虫”了。现在项目需要,所以研究…

爬虫JS逆向思路 --(几千块钱都学不到的思路)

网络上几千块都学不到的JS逆向思路这里全都有👏🏻👏🏻👏🏻 本系列持续更新中,三连关注不迷路👌🏻 干货满满不看后悔👍👍👍 &…

手把手操作JS逆向爬虫入门(一)

本文爬取的网站如下(可以找解密工具解码) aHR0cHM6Ly9uZXdyYW5rLmNuLw 爬取的内容为网站的资讯情报版块的新闻资讯 鼠标点击翻页,在开发者工具中查看请求包,很容看出请求地址和参数, 其中post请求的参数如图&#x…

JS实现图片爬虫

最近在在学node.JS,尝试着跟着网上的教程学着写一个JS爬虫,来爬取网上的图片文件,在此记录过程 获取网站的html结构 首先我们引入node.js的http核心模块,初始化并将目标网站地址作为url参数,接受一个回调函数,在这个…

从零开始学JS爬虫,轻松抓取网页数据!

随着互联网的发展,网页已经成为人们获取信息的重要途径之一。而如何高效地获取所需信息,就成为了很多人关注的问题。本文将介绍JS爬虫入门,帮助读者从零开始抓取网页数据。 一、概述 在介绍JS爬虫之前,我们先来了解一下爬虫的基…

爬虫之JS的解析

JS的解析 学习目标: 了解 定位js的方法了解 添加断点观察js的执行过程的方法应用 js2py获取js的方法 1 确定js的位置 对于前面人人网的案例,我们知道了url地址中有部分参数,但是参数是如何生成的呢? 毫无疑问,参数肯…

JavaScript爬取网页并分析

JavaScript爬取网页并分析 任务分析 爬取三个网站下的新闻数据,这里选择网易新闻网(https://news.163.com/);提取每条新闻的如下字段:标题,内容,发表日期,网址&#xf…

js - 爬虫的实现

爬虫的原理 爬虫,就是一个自动爬取网页上展示的信息的工具。我们要写一款爬虫,就要满足下面的条件: 网络的请求。首先我们要进行网络请求,让目标给我们返回信息(常用的模块有http、http2、https、request、axios、pu…

Node.js实现简单爬虫 讲解

一、什么是爬虫 网络爬虫(又称为网页蜘蛛,网络机器人,在FOAF社区中间,更经常的称为网页追逐者),是一种按照一定规则,自动的抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕…

爬虫攻略(一)

互联网 Web 就是一个巨大无比的数据库,但是这个数据库没有一个像 SQL 语言可以直接获取里面的数据,因为更多时候 Web 是供肉眼阅读和操作的。如果要让机器在 Web 取得数据,那往往就是我们所说的“爬虫”了。现在项目需要,所以研究…

javascript爬虫

用js爬虫,使用到nodejs 例子中爬取的是中国新闻网时政频道的最新10条新闻的title和链接 事先准备: 1、先去node官网下载安装一下 2、推荐vs code,需要通过终端下载插件,不想的话用cmd小黑框做终端,记事本写代码也行…