Qt简介、工程文件分离、创建Qt工程、Qt的帮助文档
QT 简介

core:核心模块,非图形的接口类,为其它模块提供支持
gui:图形用户接口,qt5之前
widgets:图形界面相关的类模块 qt5之后的
database:数据库模块
network:网络模块
QT 特性
开源
(裁剪、参考代码、学习)
优良的跨平台特性
Qt 支持下列操作系统:Windows、Linux、MacOS、android 等等。节约人力成本。
类比 Linux 支持 intel X86、ARM、MIPS 等。
面向对象
Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来说是非常方便的。Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件之间的协同工作变得十分简单。
丰富的API
Qt 包括多达 500 个以上的 C++类,还替供基于模板的 collections,serialization,file,I/O device,directory management,date/time 类。甚至还包括正则表达式的处理功能。
大量的开发文档
易用的开发环境
Qt 嵌入式官方案例(👈 安全链接,放心跳转)
Qt 环境安装、搭建
下载
(👆 Qt Creator下载页面)
windows 版本选择 mingw 版本,集成安装包,只安装 mingw 编译器即可。
linux 的包以 run 后缀结尾。
mac 的包以 dmg 后缀结尾。

版本查看
Qt creator 软件的版本:3.0.1
SDK的版本:5.2.1

编码格式
需要改回 utf-8,否则会导致界面中文显示不正常。

C++工程文件分离
写一个 Person 类,有 name 和 age 两个成员,构造方法中赋默认属性,再提供对外的方法进行设置和输出。
写一个 Student 类,继承自 Person 类,增加学号 id 和成绩 score 两个属性,并能提供方法来设置这两个属性。构造方法中要能设置默认的所有属性。




person.h
#ifndef PERSON_H
#define PERSON_H#include <iostream>
using namespace std;class Person
{
protected:string name;int age;
public:Person();void setProperty(string name, int age);virtual void getProperty();
};#endif // PERSON_H
person.cpp
#include "person.h"Person::Person()
{name = "Klaus";age = 23;
}void Person::setProperty(string name, int age)
{this->name = name;this->age = age;
}void Person::getProperty()
{cout << "Name: " << name << endl;cout << "Age: " << age << endl;
}
student.h
#ifndef STUDENT_H
#define STUDENT_H#include "person.h"class Student : public Person
{string id;float score;
public:Student();void setProperty(string name, int age, string id, float score);virtual void getProperty();
};#endif // STUDENT_H
student.cpp
#include "student.h"Student::Student()
{id = "2023052106";score = 92;
}void Student::setProperty(string name, int age, string id, float score)
{this->name = name;this->age = age;this->id = id;this->score = score;
}void Student::getProperty()
{cout << "Name: " << name << endl;cout << "Age: " << age << endl;cout << "Id: " << id << endl;cout << "Score: " << score << endl;
}
main.cpp
#include "student.h"int main()
{Person().getProperty();Person per;per.setProperty("Kol", 21);per.getProperty();cout << "--------------------" << endl;Student().getProperty();Student *stu = new Student;stu->setProperty("Kol", 21, "2023052202", 96);stu->getProperty();cout << "--------------------" << endl;// 多态:父类的指针或者引用指向子类,可以呈现子类的特性Person *p = new Student;p->getProperty();p->Person::getProperty();return 0;
}

创建 QT 的工程


xxx.pro
#-------------------------------------------------
#
# Project created by QtCreator 2023-09-26T11:20:06
#
#-------------------------------------------------#工程所需要的模块名
QT += core gui#如果QT版本号大于5,那么需要加入widgets
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets#生成的执行程序的名字
TARGET = qt_test
TEMPLATE = app#指定工程包含的源文件
SOURCES += main.cpp\widget.cpp#指定工程包含的头文件
HEADERS += widget.h
main.cpp

widget.h

注意
项目构建完成后,目录中会有一个 xxx.pro.user 的文件,这个文件存储的是个人配置,比如个人构建路径、编译器路径等等。所以如果项目是从别人那里拷贝的,必须先删除此文件再打开项目。在打开项目之前,就需要删掉 user 配置文件。


QT 帮助文档
QT 所有的类 都以 Q 打头。
打开帮助文档方法
1、直接点 creator 里的帮助选项;

2、开始菜单输入 ass,打开 assistant 即可;


3、光标定位到某个查找类或对象,按两次 F1 键

帮助文档的结构
头文件、模块需求、继承关系
以 QLabel 为例:
Header: #include \<QLabel> // 头文件
qmake: QT += widgets // 加载模块
Inherits: QFrame // 父类是谁
目录
Properties: 类特性,不能直接修改
Public Functions: 公有方法,重点关注
Public Slots: 公有槽函数,重点关注
Signals: 信号,重点关注
Detailed Description: 细节描述
相关文章:
Qt简介、工程文件分离、创建Qt工程、Qt的帮助文档
QT 简介 core:核心模块,非图形的接口类,为其它模块提供支持 gui:图形用户接口,qt5之前 widgets:图形界面相关的类模块 qt5之后的 database:数据库模块 network:网络模块 QT 特性 开…...
机器学习与低代码开发:创新驱动的双剑合璧
引言 随着科技的日新月异,机器学习和低代码开发已经成为引领技术行业变革的两大重要趋势。机器学习通过模拟人类的学习方式,让计算机具备了自我学习和预测的能力,打破了传统计算机程序的局限性。而低代码开发则以简化软件开发过程为目标&…...
企业博客SEO:优化SOP,助您提升搜索引擎可见性
企业博客是互联网时代企业与用户沟通的重要渠道之一,引流成本也比较低。然而,依然有企业会处在3种状态: 1. 有博客,但内容更新不积极或搁置 2. 有博客,但内容散乱 3. 根本就没有博客 如果是这几种状态,…...
[HITCON 2017]SSRFme perl语言的 GET open file 造成rce
这里记录学习一下 perl的open缺陷 这里首先本地测试一下 发现这里使用open打开 的时候 如果通过管道符 就会实现命令执行 然后这里注意的是 perl 中的get 调用了 open的参数 所以其实我们可以通过管道符实现命令执行 然后这里如果file可控那么就继续可以实现命令执行 这里就…...
华为配置Smart Link主备备份示例
定义 Smart Link,又叫做备份链路。一个Smart Link由两个接口组成,其中一个接口作为另一个的备份。Smart Link常用于双上行组网,提供可靠高效的备份和快速的切换机制。 Monitor Link是一种接口联动方案,它通过监控设备的上行接口…...
harmonyOS开发技巧(一)——封装hilog日志
1. 创建sharedLibrary共享hsp包commonLib:功能工具类。 import hilog from ohos.hilog;class Logger {private DOMAIN: number 0x0000;private APP_NAME: string Myapplication;public info(tag: string, ...args: string[]) {hilog.info(this.DOMAIN, [${this.A…...
npm、yarn常用命令
1、设置npm路径 #全局安装路径 npm config set prefix "D:\Program Files\nodejs\node_global" #缓存路径 npm config set cache "D:\Program Files\nodejs\node_cache"2、设置镜像 #1,淘宝镜像源 npm config set registry https://registry.npmmirror.…...
编译和使用WPS-ghrsst-to-intermediate生成SST
一、下载 V1.0 https://github.com/bbrashers/WPS-ghrsst-to-intermediate/tree/masterV1.5(使用过程报错,原因不详,能正常使用的麻烦告知一下方法) https://github.com/dmitryale/WPS-ghrsst-to-intermediate二、修改makefile…...
通过静态HTTP实现负载均衡
在当今的互联网环境中,随着用户数量的不断增加和业务需求的不断扩大,单台服务器往往无法承受所有的访问压力。为了确保网站的可用性和性能,负载均衡成为了一种常见的解决方案。本文将探讨如何通过静态HTTP实现负载均衡,以提升网站…...
Python开发运维:Python常见异常类型
目录 一、理论 1.异常 一、理论 1.异常 (1)概念 异常是程序因为某种原因无法正常工作了,比如缩进错误、缺少软件包、环境 错误、连接超时等都会引发异常。 一个健壮的程序应该把所能预知的异常都应做相应的处理,保障程序长期运…...
HarmonyOS学习 第1节 DevEco Studio配置
俗话说的好,工欲善其事,必先利其器。我们先下载官方的开发工具DevEco Studio. 下载完成后,进行安装。 双击DevEco Studio,点击Next按照指引完成安装 重新启动DevEco,点击 Agree 进入环境配置,安装Node.js和ohpm 点击Ne…...
WordPress 注册/重置密码/更改密码钩子
wordpress在提供邮件提醒的地方都留了hook,方便让开发者自定义。最新在添加第三方登录时遇到虚拟邮箱发信问题,为了防止给指定邮件地址后缀发信,可以利用如下wordpress提供的钩子来实现。 //https://www.wwttl.com/101.html //禁止用户注册时…...
LabVIEW开发远程结构健康监测系统
LabVIEW开发远程结构健康监测系统 工程师依赖于振动监测来评估建筑物、桥梁和其他大型结构的完整性。传统的振动监测工具在数据收集上存在限制,无法长时间收集高保真波形。随着内存存储、处理器速度和宽带无线通信技术的进步,出现了对能够长时间收集并实…...
多段图问题-动态规划解法
一、多段图问题 问题描述:设图G(V, E)是一个带权有向图,如果把顶点集合V划分成k个互不相交的子集Vi (2≤k≤n, 1≤i≤k),使得对于E中的任何一条边(u, v),必有u∈Vi,v∈Vim (1≤i≤k, 1<im≤k),…...
Android实验:绑定service实验
目录 实验目的实验内容实验要求项目结构代码实现代码解释结果展示 实验目的 充分理解Service的作用,与Activity之间的区别,掌握Service的生命周期以及对应函数,了解Service的主线程性质;掌握主线程的界面刷新的设计原则ÿ…...
K8S集群优化的可执行优化
目录 前期环境优化 1.永久关闭交换分区 2.#加载 ip_vs 模块 3.调整内核参数 4.#使用Systemd管理的Cgroup来进行资源控制与管理 5.开机自启kubelet 6.内核参数优化方案 7.etcd优化 默认etcd空间配额大小为 2G,超过 2G 将不再写入数据。通过给etcd配置 --quo…...
Remix IDE 快速开始Starknet
文章目录 一、Remix 项目二、基于Web的开发环境Remix 在线 IDE三、Starknet Remix 插件如何使用使用 Remix【重要】通过 Starknet by Example 学习一、Remix 项目 Remix 项目网站 在以太坊合约开发领域,Remix 项目享有很高的声誉,为各个级别的开发人员提供功能丰富的工具集…...
SQL中limit与分页的结合
select * from test limit 2,10; 这条语句的含义:从第3条语句开始查询,共显示10条语句。 select * from test limit a,b; a0,第一条记录。 a1,第二条记录。 a2,第三条记录。 这条语句的含义:从第a1条语句开始查询,共显示b条…...
KALI LINUX信息收集
预计更新 第一章 入门 1.1 什么是Kali Linux? 1.2 安装Kali Linux 1.3 Kali Linux桌面环境介绍 1.4 基本命令和工具 第二章 信息收集 1.1 网络扫描 1.2 端口扫描 1.3 漏洞扫描 1.4 社交工程学 第三章 攻击和渗透测试 1.1 密码破解 1.2 暴力破解 1.3 漏洞利用 1.4 …...
联想电脑重装系统Win10步骤和详细教程
联想电脑拥有强大的性能,很多用户办公都喜欢用联想电脑。有使用联想电脑的用户反映系统出现问题了,想重新安装一个正常的系统,但是不知道重新系统的具体步骤。接下来小编详细介绍给联想电脑重新安装Win10系统系统的方法步骤。 推荐下载 系统之…...
Office RibbonX Editor:免费开源Office界面定制终极指南
Office RibbonX Editor:免费开源Office界面定制终极指南 【免费下载链接】office-ribbonx-editor An overhauled fork of the original Custom UI Editor for Microsoft Office, built with WPF 项目地址: https://gitcode.com/gh_mirrors/of/office-ribbonx-edit…...
基于OpenTelemetry构建企业级可观测性:从设计到生产实践
1. 项目概述:从“黑盒”到“白盒”的工程实践在分布式系统、微服务架构乃至复杂的单体应用开发中,我们常常面临一个共同的困境:系统内部的状态如同一个“黑盒”。当线上服务出现响应缓慢、内存泄漏或偶发性错误时,传统的日志&…...
收藏!小白程序员轻松入门大模型:3个月实现转岗高薪offer的秘诀
本文针对传统程序员转行AI大模型的困境,提出三条实用路径:RAG应用工程、Agent应用开发、模型微调与部署。强调工程能力在AI应用中的重要性,建议通过解决实际问题积累经验,而非单纯堆砌技术栈。文章指出,懂业务、善工程…...
探索GitHub导航菜单:平台功能、解决方案、资源及GlycemicGPT项目全揭秘
导航菜单包含登录、外观设置等选项,还有平台、解决方案、资源、开源、企业版等板块。平台有AI代码创作(如GitHub Copilot、GitHub Spark等)、开发者工作流(如Actions、Codespaces等)、应用程序安全(如GitHu…...
Godot集成CEF:用Web技术构建高性能跨平台桌面应用
1. 项目概述:一个被低估的桌面应用开发利器 如果你正在寻找一个能让你用熟悉的Web技术(HTML、CSS、JavaScript)来构建高性能、跨平台桌面应用的工具,并且对Electron的臃肿和资源占用感到头疼,那么你很可能已经听说过C…...
Svelte动态光标实现:提升Web应用交互体验的完整方案
1. 项目概述:一个为Svelte应用注入灵魂的交互光标在Web应用的世界里,细节决定体验。我们早已习惯了那个千篇一律的箭头指针,它精准、高效,但缺乏情感和上下文。当用户点击一个按钮、悬停在一个链接上,或者在一个可拖拽…...
DLSS Swapper完整指南:如何5分钟提升游戏性能50%?
DLSS Swapper完整指南:如何5分钟提升游戏性能50%? 【免费下载链接】dlss-swapper 项目地址: https://gitcode.com/GitHub_Trending/dl/dlss-swapper 您是否曾经为游戏卡顿而烦恼?是否在寻找提升帧率的方法却不知从何入手?…...
开源音频标注工具audamo:从部署到实战的全流程指南
1. 项目概述:一个为音频数据标注而生的开源工具如果你正在处理语音识别、音频事件检测或者任何需要大量标注音频数据的项目,那么“标注”这个环节大概率是你工作流中最耗时、也最令人头疼的部分。手动用Audacity一帧一帧地听、标记,效率低下不…...
硬件调试利器:全面掌握AMD Ryzen处理器系统性能优化实战技巧
硬件调试利器:全面掌握AMD Ryzen处理器系统性能优化实战技巧 【免费下载链接】SMUDebugTool A dedicated tool to help write/read various parameters of Ryzen-based systems, such as manual overclock, SMU, PCI, CPUID, MSR and Power Table. 项目地址: http…...
将Hermes Agent工具连接到Taotoken的配置要点详解
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 将Hermes Agent工具连接到Taotoken的配置要点详解 Hermes Agent 是一款支持自定义模型提供方的智能体开发工具。通过将其后端连接到…...
