QT基础知识

QT基础知识

文章目录

  • QT基础知识
    • 1、QT是什么
    • 2、Qt的发展史
    • 3、为什么学习QT
    • 4、怎么学习QT
      • 1、工程的创建(环境的下载与安装请百度)
      • 2、创建的工程结构说明
      • 3、怎么看帮助文档
        • 1、类使用的相关介绍
        • 2. 查看所用部件(类)的相应成员函数(功能,参数,返回值)
        • 3、查看部件的信号
        • 4、查看部件的事件(所对应的虚函数如何编写)
    • 5. 总结


1、QT是什么

Qt是一个跨平台C++图形用户界面应用程序框架。它为应用程序开发者提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。

2、Qt的发展史

1991年 Qt最早由奇趣科技开发
1996年 进入商业领域,它也是目前流行的Linux桌面环境KDE的基础
2008年 奇趣科技被诺基亚公司收购,Qt称为诺基亚旗下的编程语言
2012年 Qt又被Digia公司收购
2014年4月 跨平台的集成开发环境Qt Creator3.1.0发布,同年5月20日配发了Qt5.3正式版,至此Qt实现了对iOS、Android、WP等各平台的全面支持。

3、为什么学习QT

  1. 更好的学习C++
  2. 后台逻辑与前台界面的协调。
  3. 跨平台(比如需要做安卓与ios开发由于Qt的跨平台一个平台写好的程序另一个平台稍微修改就可以运行起来

4、怎么学习QT

借助Qt帮助文档(很重要)

1、工程的创建(环境的下载与安装请百度)

打开Qt Creator 界面选择 New Project或者选择菜单栏 【文件】-【新建文件或项目】菜单项
在这里插入图片描述
弹出New Project对话框,选择Qt Widgets Application,
在这里插入图片描述
选择【Choose】按钮,弹出如下对话框
路径不要包含中文在这里插入图片描述
设置项目名称和路径,按照向导进行下一步,
在这里插入图片描述
选择编译套件
在这里插入图片描述
基类选择有三种:
(1)QMainWindow 是主窗口类,主窗口具有主菜单栏、工具栏、状态栏,类似于一般的应用程序主窗口(就行Qt Creater的主窗口上的有编辑栏那种)
(2)QWidget 是所有具有可视化界面类的基类,选择QWidget 创建的界面对各种界面组件度都可以支持(反正我最喜欢用这个,一片空白随便搞)
(3)QDialog 是对话框类,可建立一个基于对话框的界面。

如果不需要ui 创建界面可以不勾选 一般都是要的。
在这里插入图片描述
即可创建出一个Qt桌面程序。

2、创建的工程结构说明

在这里插入图片描述
(1)test.pro 是项目管理文件,包括一些对项目的设置项,特别是后续开发中,需要设计添加模块的问题,就在 pro 文件中添加需要的模块;同时你打开Qt项目时也是选择这个。
(2)Header文件保存所有窗口类头文件的文件分组,mywidge.h
(3)Source 文件保存C++ 源码的文件分组。main.cpp是主函数文件,也是应用程序执行的入口
(4)Froms 文件分组是保存项目的所有界面文件(.ui),双击.ui文件可以进入界面编辑界面。

.pro 文件的说明
在这里插入图片描述
main.cpp 主程序
在这里插入图片描述mywidget .h 文件
在这里插入图片描述
(1)Q_OBJECT :使用了Q_OBJECT这个宏,这是使用Qt的信号与槽(signal与slot)机制的类都必须加入的宏
(2) Ui::Widget *ui 指针,是为了使用前面声明的namespace Ui里面的Widget类定义,这个很重要,在cpp中调用ui文件中的控件时,都是以ui开头指向你需要调用的控件
(3)class myWidget : public QWidget 这就说明,myWidget类是QWidget类的一个派生类。

mywidget.cpp 文件
在这里插入图片描述
(1)#include “ui_widget.h” 这个就是Qt编译生成的与UI文件 widget.ui 对应的类定义文件
(2) myWidget::myWidget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget) 构造函数头部,
意义:执行父类QWidget 的构造函数,创建一个Ui::Widget 类的对象 ui 。这个ui 就是Widget 的private 中定义的指针变量 ui。(采用C++中的成员初始化列表语句)
(3)ui->setupUi(this) 执行Ui::Widget 类的setupUi函数,这个函数实现窗口的生成与各种属性的设置、信号与槽的关联,this指针指向定义的widget类
(4)析构函数就是删除用 new 创建的ui指针

3、怎么看帮助文档

学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必要去记,用到什么就去帮助文档查看用法。

我们使用 Qt 帮助文档,主要分为这么几步:
1)类使用的相关介绍
2)查看所用部件(类)的相应成员函数(功能,参数,返回值)
3)查看部件的信号
4)查看部件的事件(所对应的虚函数如何编写)

1、类使用的相关介绍

光标移动到类名字的地方,接着按“F1”即可跳转到所对应的帮助文件:
在这里插入图片描述再按一次“F1”即可全屏显示帮助文档页面,按“Esc”即可退出帮助文档。
类的相关介绍说明:
在这里插入图片描述
所要查看的几个重要信息:
在这里插入图片描述
公有成员函数:操作部件属性的相关函数。
公有槽函数:Qt类中已经定义好的槽函数,直接可与信号相连接。
信号:软中断,如按下按钮触发 pressed() 信号等。
保护成员函数:通常事件所对应的虚函数放在此处。
事件:常用事件,如操作鼠标触发的鼠标事件。

当然,我们可以直接在“帮助”模式下的“索引”输入框里输入所需查看的类:
在这里插入图片描述

2. 查看所用部件(类)的相应成员函数(功能,参数,返回值)

查看所用部件的相应成员函数( 本身的成员函数,继承过来的成员函数 ),主要是为了查看这个成员函数如何使
用,包括函数的功能,参数,返回值。
下面以 QPushButton (普通按钮)为例:
a)选择 QPushButton 类中的“公有函数”:
在这里插入图片描述
b)相应函数的简单介绍:
在这里插入图片描述
c)点击函数名字即可查看其相应用法:
在这里插入图片描述
d)很多时候,我们需要使用到继承过来的函数,如给按钮设置内容( setText() )即是从 QAbstractButton
继承过来:
在这里插入图片描述
点击“QAbstractButton”即可跳转到 QAbstractButton 公有函数的地方:
在这里插入图片描述
点击函数名字即可查看其用法:
在这里插入图片描述
e)操作过程中,可能需要用到“后退”、“前进”进行页面来回切换:
在这里插入图片描述
f)很多事情,我们可能需要在使用到某个函数时,再查看其用法。
首先,需要先把函数的参数随便拿个数填好,然后,光标移动到函数名字的地方,再按“F1”即可跳转到此
函数的使用说明:
在这里插入图片描述

3、查看部件的信号

还是以 QPushButton 为例:
a)在 QPushButton 类中不能直接查看 Signals 的信息,需要在其基类“QAbstractButton ”中查找:
在这里插入图片描述
b)在“QAbstractButton ”,选择“Signals”:
在这里插入图片描述
c)除了本身信号,还有继承过来的信号:
在这里插入图片描述
d)点击信号名字,即可查看信号的相关说明:
在这里插入图片描述

4、查看部件的事件(所对应的虚函数如何编写)

部件常用事件主要在 QWidget 中声明,选择“Events”即可查看相关说明:
在这里插入图片描述每个事件都对应着事件函数:
在这里插入图片描述
事件函数的相关说明:
在这里插入图片描述

5. 总结

提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,一些Qt的介绍。QT工程的创建及简单工程的生成文档的说明。怎么看QT的帮助文档。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

用js让用户输入一个数累加和

需求&#xff1a;用户输入一个数&#xff0c; 计算 1 到这个数的和。 比如 用户输入的是 5&#xff0c; 则计算 1~5 之间的累加和 并且输出到控制台 <body><script>let numprompt(请输入一个数)let sum0for(let i1;i<num;i){sumi}console.log(sum)</script…

【Java进阶篇】Java中Timer实现定时调度的原理(解析)

Java中Timer实现定时调度的原理 ✔️ 引言✔️JDK 中Timer类的定义✔️拓展知识仓✔️优缺点 ✔️ 引言 Java中的Timer类是用于计划执行一项任务一次或重复固定延迟执行的简单工具。它使用一个名为TaskQueue的内部类来存储要执行的任务&#xff0c;这些任务被封装为TimerTask对…

阿里云性能测评ESSD Entry云盘、SSD云盘、ESSD和高效云盘

阿里云服务器系统盘或数据盘支持多种云盘类型&#xff0c;如高效云盘、ESSD Entry云盘、SSD云盘、ESSD云盘、ESSD PL-X云盘及ESSD AutoPL云盘等&#xff0c;阿里云百科aliyunbaike.com详细介绍不同云盘说明及单盘容量、最大/最小IOPS、最大/最小吞吐量、单路随机写平均时延等性…

语音AI小夜灯项目

一、项目简介 使用ESP32-S3N8R8模块作为主控芯片&#xff0c;S3内核增加了用于加速神经网络计算和信号处理等的指令&#xff0c;这使得我们可以使用它来快速解析训练好的语音模型进行语音识别的功能。 二、原理解析 本项目由四个部分组成&#xff0c;电源部分、LED照明部分、…

作业--day41

利用模板类完成顺序表 #include <iostream>using namespace std;//模板类 template <typename T> class SeqTab{T arr[20];int maxsize; public:SeqTab():maxsize(0){}void Insert(T a);void Search(T a);void Delete(int index);void Show(); };//尾插 template …

《合成孔径雷达成像算法与实现》Figure5.13

clc clear close all距离向参数 R_eta_c_1 450; % 景中心斜距 R_eta_c_2 850; % 景中心斜距 R_eta_c_3 1250; % 景中心斜距方位向参数 c 3e8; f0 5.3e6; Vr 7100; Ta 0.64; % 目标照射时间 Ka 2095; % 方位向调频率 theta_r_c 0; % 斜视角参数计算…

C语言实例_math.h库函数功能及其用法详解

一、前言 数学在计算机编程中扮演着至关重要的角色&#xff0c;C语言的math.h头文件提供了一系列的函数和工具&#xff0c;用于数学计算和常用数学函数的实现。这些函数包括数值运算、三角函数、指数对数函数等&#xff0c;为开发人员提供了强大的数学处理能力。本文将对math.…

C++-类和对象(2)

1.类的6个默认成员函数 如果一个类中什么成员都没有&#xff0c;简称为空类。 空类中真的什么都没有吗&#xff1f;并不是&#xff0c;任何类在什么都不写时&#xff0c;编译器会自动生成以下 6 个默认成员 函数。 默认成员函数&#xff1a;用户没有显式实现&#xff0c;编译…

layui 日期不能重新渲染

需求&#xff1a;当用户选择开始日期的时候&#xff0c;结束日期要小于开始日期。 遇到的问题&#xff1a; 当切换开始时间时&#xff0c;结束时间的输入框不会被重新渲染。 解决&#xff1a; html代码&#xff1a; <div class"layui-form-item"><label…

引导和服务

一、Linux操作系统引导过程 1、引导过程总览图 2、引导过程的详细步骤 1.开机自检&#xff08;BIOS&#xff09; 服务器主机开机以后&#xff0c;将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测&#xff0c;检测成功后根据预设的启动顺序移交系统控制权&a…

VitulBox中Ubuntu虚拟机安装JAVA环境——备赛笔记——2024全国职业院校技能大赛“大数据应用开发”赛项

前言 在进行之后操作是请下载好JDK&#xff0c;之后的内容是以Ubuntu虚拟机中安装java环境续写。 建议大家先把文章看完在配&#xff0c;因为有一些出错原有在后面&#xff0c;看完之后调整顺序。 提示&#xff1a;以下操作是在虚拟机hadoop用户下操作的&#xff0c;并为安装…

C++ 实现Windows WIFI管理器

文章目录 前言一、代码二、补充知识三、遇到的问题字符集转换 四、剩余问题总结 前言 出于项目需要&#xff0c;需要用C开发一个wifi界面&#xff0c;实现wifi扫描、wifi连接与断开、wifi密码记住的基础功能。 一、代码 话不多说&#xff0c;直接上代码。 #pragma once #inc…