【快速上手QT】02-学会查看QT自带的手册QT助手

news2024/9/25 13:17:25

QT助手

为什么大家都说QT简单,第一点就是确实简单(bushi)。

我个人觉得最关键的点就是人家QT官方就给你准备好了文档,甚至还有专门的IDE——QtCreator,在QTCreator里面还有很多示例代码,只要你会C++的语法以及一点点对于QT的认识,你就可以依靠着手册以及百度去开发Qt程序。

什么?你不会不知道QT给你准备了文档吧?下面是我的路径,可以去参考一下。也就是先找到你安装QT的地方,找到一个写着版本号的文件夹,里面随便选一个(貌似是一样的)文件夹再点进去,找到bin目录,然后就能看到QT助手的exe可执行文件了。

E:\QT\5.15.2\msvc2019_64\bin\assistant.exe

就是这个东西。

 本来快速上手QT系列的第二篇是要写信号和槽的,但是感觉学会查询QT助手也是很重要的,因此往后推一推。

学会查询

左边有搜索栏,我们直接搜索即可,右边的主界面就会更新我们要查询的组件的内容。

现在还有一个问题,也是我初学QT时的问题,那就是查是会查了但是还不会查。

也就是说,比如我要一个按钮组件,那么我该搜索什么呢,我只知道在这边搜索但是不知道应该搜索什么。

这个时候就轮到QtDesigner登场了。

VS中我们找到.ui文件双击即可进入。

可能有熟悉我的小伙伴会说,你不是说你不喜欢用QtDesigner吗。那这个又是另外一回事了,我们这边的使用是指我们可以通过QtDesigner的图形化界面去选择我们要用的组件。

比如我们要找按钮,那么我们从左边那边选择一个按钮即可。

我们还可以拖拽到右边看看效果,货比三家,看看哪一种更适合我们。

一般按钮我们选择Push Button,选中对应组件之后我们还可以在QtDesigner的右侧去查看它拥有的属性,甚至包括它的父类的属性。

那么知道我们要用这个组件之后我们就可以去QT助手里搜索对应的用法了。

在QtDesigner里我们知道它是Push Button了,那么在搜索的时候我们却不能直接输入Push Button搜素,我们需要在它的名字前加个大写的Q然后再写上它的名字,并且把中间的空格去掉。

例如:

Push Button    ->    QPushButton

List View    ->    QListView

List Widget    -> QListWidget

那么经过上面的例子,相信各位小伙伴就知道该如何挑选组件并且通过QT助手去搜索了。

以QPushButton为例通过QT助手寻找需要的信息

搜素之后我们可以得到下面的界面。

第一次看可能看不明白,会被这密密麻麻的英文吓到,但是没关系,我们先简单的翻译一下。

目录

头几行可以忽略,目录也可以先忽略,因为不管你搜索啥组件,目录那块基本上是一样的。

但是我们第一次用QT助手去搜索组件,还是简单的看看目录吧,目录有的信息是不是就是我们可以通过QT助手查到的信息。

那么第一个性质,就是告诉我们这个组件的成员变量有什么,以及是什么类型的。

第二个公共职能,翻译的不好,实际上就是公共函数,也就是以publish修饰的成员函数,这个是我最常用的。

第三个重新实现的公共功能,应该也好理解,也就是重写父类的公共函数。

第四个公共插槽,这个比较重要,是这个组件拥有的槽函数,关于什么是槽函数,这个后续讲信号和槽函数的时候会讲解(或许就是下一篇文章)。

第五个受保护的功能,也就是以protect修饰的成员函数。

第六个重新实现的受保护函数,也就是重写父类的保护函数。

最后一个详细说明我基本上不看,因为全是英文。

我们可以通过点击目录上的超链接跳转到对应的位置去查询,这个在我们后期熟练使用QT助手之后就会用的很顺手了。

类简介

我认为的一个很重要的东西却不在目录里,就是下面这个。

它在目录的下面,目录里第一条的上面。

从这里我们可以了解到很多。

比如第一行就告诉了我们QPushButton大概是个什么(虽然是英文)。

Header告诉我们应该要包含什么头文件,我们要使用QPushButton,那么就需要包含对应的头文件。

#include <QPushButton> 

qmake中是我们需要配置的东西,如果是VS的话,我们需要按照我下面的步骤去配置。

 使用QTCreator的小伙伴就在.pro的配置文件里的对应位置加上QT += widgets即可。

除了头文件和qmake以外,我们还可以很清晰的看到这个组件继承于谁又是被谁继承。

主要还是看它继承谁。

因为有时候我们在该组件的介绍里找不到我们需要的函数,那么很有可能我们需要的函数就是在它的父类甚至是祖宗类中。

比如说在QtDesigner中我们可以看到属性中有个text,对应的就是按钮上的文本。

那么我们要修改它,按照正常猜想,设置text,那么对应的英文是不是setText,就算不是,那么函数名里肯定也沾个text,所以我们要修改text,我们就去找找QPushButton有没有对应的函数可以使用。

我们找过之后就会发现没有,根本找不到。那么此时我们要做的就是往它的父类去找,也就是QAbstractButton,我们点击最开始的简介中的链接便可以直接跳转过去。

在QAbstractButton的公共函数中我们还真就找到了

void setText(const QString &text)

其实在QtDesigner中我们就可以知道设置text属性的函数不属于QPushButton了。

所以虽然我不喜欢用QtDesigner来布局,但是使用QtDesigner可以让我们很方便地查阅对应组件的相关信息。

经验之谈

如果我们要查阅某个组件的属性是什么,那么大概率这个组件会有和属性名相同的函数会返回这个属性的值,我们可以通过那个函数去获取属性的值。

如果我们要设置某个组件的属性,那么大概率设置的函数名就会是“set”再加上属性名。

如果看了QtDesigner和QT助手还是不清楚组件该怎么使用,那么可以在QT助手中对应组件的界面的目录的最后一项——详细描述,一般是会有小例子去说明如何使用。

如果还是不行,那么好吧,我们直接百度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1439845.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

飞马座卫星

1960年代马歇尔太空飞行中心的历史显然与建造土星五号月球火箭有关。然而&#xff0c;鲜为人知的是该中心在设计科学有效载荷方面的早期工作。 Fairchild 技术人员正在检查扩展的 Pegasus 流星体探测表面。Pegasus 由马里兰州黑格斯敦的 Fairchild Stratos Corporation 通过马歇…

DC-8靶机渗透详细流程

信息收集&#xff1a; 1.存活扫描&#xff1a; arp-scan -I eth0 -l └─# arp-scan -I eth0 -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:dd:ee:6a, IPv4: 192.168.10.129 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.10…

Linux文件和目录管理

目录基础 Linux操作系统以目录的方式来组织和管理系统中的所有文件。所谓的目录&#xff0c;就是将所有文件的说明信息采用树状结构组织起来。每个目录节点之下会有文件和子目录。 所有一切都从 ‘根’ 开始&#xff0c;用 ‘/’ 代表, 并且延伸到子目录。 bin&#xff1a;B…

Python tkinter树状目录窗口实现

通过tkinter GUI实现读取特定目录下所有目录及文件并在窗口中可选择显示。 通过左右布局实现&#xff0c;左侧为树状目录&#xff0c;右侧为输入框和显示文本框。 目录 tkinter树状目录 左侧树状目录 右侧显示 调用实现窗口 打开目录 打开py文件 总结 tkinter树状目录 …

【C++基础入门】七、指针(定义和使用、所占内存空间、空指针和野指针、const关键字修饰指针、指针和数组、指针和函数)

七、指针 7.1 指针的基本概念 指针的作用&#xff1a; 可以通过指针间接访问内存 内存编号是从0开始记录的&#xff0c;一般用十六进制数字表示可以利用指针变量保存地址 7.2 指针变量的定义和使用 指针变量定义语法&#xff1a; 数据类型 * 变量名&#xff1b; 示例&…

Java应用中各类环境变量的优先级及最佳实践

1.引言 Java应用程序的开发和部署过程中&#xff0c;合理利用各类环境变量是关键之一。不同类型的环境变量&#xff0c;如系统环境变量、进程级环境变量、Java启动参数设置的系统属性以及Spring Boot配置文件中的环境变量&#xff0c;它们之间存在优先级差异。 深入理解这些环…

Ansible command命令模块 这个模块可以直接在远程主机上执行命令,并将结果返回本主机。

目录 参数介绍练习环境配置主机清单配置无密码链接ping模块 command 命令模块也可以用来安装点东西看个路径 command 指定目录来 指定命令 参数介绍 chdir    # 在执行命令之前&#xff0c;先切换到该目录 executable # 切换shell来执行命令&#xff0c;需要使用命令的绝对…

leetcode(滑动窗口)483.找到字符中所有字母异位词(C++详细解释)DAY4

文章目录 1.题目示例提示 2.解答思路3.实现代码结果 4.总结 1.题目 给定两个字符串 s 和 p&#xff0c;找到 s 中所有 p 的 异位词 的子串&#xff0c;返回这些子串的起始索引。不考虑答案输出的顺序。 异位词 指由相同字母重排列形成的字符串&#xff08;包括相同的字符串&a…

上市公司人工智能转型指数及55个工具变量汇总数据集(2024.2月更新)

一、“智能化转型”发文趋势和主题分布 二、数据来源 上市公司年报、官网&#xff0c;中国知网及各期刊官网等三、时间跨度 工具变量&#xff1a;2022-2024年&#xff1b; 上市公司人工智能转型指数&#xff1a;2007-2021年四、数据范围 中国A股上市公司五、数据展示 序号…

Qt QVariant类应用

QVariant类 QVariant类本质为C联合(Union)数据类型&#xff0c;它可以保存很多Qt类型的值&#xff0c;包括 QBrush&#xff0c;QColor&#xff0c;QString等等&#xff0c;也能存放Qt的容器类型的值。 QVariant::StringList 是 Qt 定义的一个 QVariant::type 枚举类型的变量&…

【Unity游戏设计】跳一跳Day1

一、创建场景 Assets/Secnes:GameAssets创建游戏资源Prefabs存放预制体,Scripts脚本,Sounds声音,Textures图片资源,Materiais材质资源分类存放意识 二、场景建模 注意&#xff1a;alt鼠标左键切换视角 视角与摄像机视角保持一致&#xff1a;Main CameraGameObjectAlign Vie…

React环境配置

1.安装Node.js Node.js官网&#xff1a;https://nodejs.org/en/ 下载之后按默认选项安装好 重启电脑即可自动完成配置 2.安装React 国内使用 npm 速度很慢&#xff0c;可以使用淘宝定制的 cnpm (gzip 压缩支持) 命令行工具代替默认的 npm。 ①使用 winR 输入 cmd 打开终端 ②依…

【递归】【前序中序后序遍历】【递归调用栈空间与二叉树深度有关】【斐波那契数】Leetcode 94 144 145

【递归】【前序中序后序遍历】【递归调用栈空间与二叉树深度有关】Leetcode 94 144 145 1.前序遍历&#xff08;递归&#xff09; preorder2.中序遍历&#xff08;递归&#xff09;inorder3.后序遍历&#xff08;递归&#xff09;postorder4. 斐波那契数 ---------------&…

易点易动固定资产管理系统:为中大型企业量身定制的固定资产解决方案

现代商业环境中&#xff0c;中大型企业面临着大规模固定资产管理的挑战。传统的手动管理方法往往效率低下、容易出错&#xff0c;给企业带来了许多困扰。幸运的是&#xff0c;现在有了易点易动固定资产管理系统&#xff0c;它为中大型企业提供了一种全新的方式来轻松管理和追踪…

相机图像质量研究(9)常见问题总结:光学结构对成像的影响--工厂镜头组装

系列文章目录 相机图像质量研究(1)Camera成像流程介绍 相机图像质量研究(2)ISP专用平台调优介绍 相机图像质量研究(3)图像质量测试介绍 相机图像质量研究(4)常见问题总结&#xff1a;光学结构对成像的影响--焦距 相机图像质量研究(5)常见问题总结&#xff1a;光学结构对成…

PIL Image 使用详解

文章目录 1. 各种图像处理库介绍1.1 读取数据的通道顺序1.2 Python图像处理库&#xff08;PIL、Pillow、Scikit-image、Opencv&#xff09; 2、PIL库与Pillow库的区别3 Pillow库3.1 Pillow库特点3.2 Pillow库安装 4、Pillow的Image对象&#xff08;PIL.Image&#xff09;4.1 Im…

【Spring源码解读!底层原理进阶】【下】探寻Spring内部:BeanFactory和ApplicationContext实现原理揭秘✨

&#x1f389;&#x1f389;欢迎光临&#x1f389;&#x1f389; &#x1f3c5;我是苏泽&#xff0c;一位对技术充满热情的探索者和分享者。&#x1f680;&#x1f680; &#x1f31f;特别推荐给大家我的最新专栏《Spring 狂野之旅&#xff1a;底层原理高级进阶》 &#x1f680…

代码随想录算法训练营29期|day43 任务以及具体任务

第九章 动态规划 part05 1049. 最后一块石头的重量 II class Solution {public int lastStoneWeightII(int[] stones) {int sum 0;for (int i : stones) {sum i;}int target sum >> 1;//初始化dp数组int[] dp new int[target 1];for (int i 0; i < stones.lengt…

HttpServletResponse接口用于表示状态代码的字段

1. HttpServletResponse接口用于表示状态代码的字段 您已学习了状态代码以及可用于从servlet向客户机发送状态代码的HttpServletResponse接口的字段。下表列出了HttpServletResponse接口表示状态代码的一些其他字段。 字段状态代码描述SC_HTTP_VERSION_NOT_SUPPORTED505服务器…

TCP相关知识点

TCP相关知识点 参考&#xff1a; 《计算机网络》 (建议收藏)TCP协议灵魂之问&#xff0c;巩固你的网路底层基础 关于 TCP 三次握手和四次挥手&#xff0c;满分回答在此 (值得看) TCP处于网络体系结构中的运输层。 运输层主要为应用进程提供端到端的逻辑通信&#xff0c;然后对…