QT高级编程之QT基本概览

article/2025/9/28 10:23:06

QT高级编程

主要从以下几个方面来介绍QT高级编程,并介绍QT相关的概念。

1、 QT部件Widget;
2、 QT信号与槽机制;
3、 对象树关系;
4、 布局管理;
5、标准对话框以及自定义对话框;
6、文件与目录;
7、数据库编程;
8、级联样式表;
9、事件与绘画;
10、二维图形;
11、网络;
12、Webkit Web 开发;
13、进程与线程;
14、跨平台;
15、模型与视图;
16、音频与多媒体;
17、其他


一.介绍

  1. Qt是一个跨平台的C++图形用户界面应用程序开发框架。
  2. Qt类结构框架图,掌握主要的类的使用,QTabWidget、QLabel、QTextEdit(多行)、QLineEdit、QBushiButton、QGroupBox、QTableWidget(表格)、QCheckBox(复选框)、QRadioButton(单选按钮)。QHBoxLayout(水平布局),QVBoxLayout(垂直布局);
  3. 通过Qt Creator中的帮助可以查看开发文档,通过设置索引、目录等可以搜索查看相关类的使用。
  4. 在通过Qt Creator创建工程时,注意工程路径为全英文路径,避免中文路径。

二、案例
1.通过Qt编程实现如下窗口。
在这里插入图片描述
2.源代码及其编译运行

#include <QApplication>
#include<QLineEdit>
#include<QPushButton>
#include<QLabel>
#include<QWidget>
#include<QHBoxLayout>
#include<QVBoxLayout>
int main(int argc,char**argv)
{QApplication app(argc,argv);//创建组件QLabel *value = new QLabel;value->setText("Window will open the corresponding program, folder, document or\n""Internet resource for you according to the name you entered.");QLabel *cmd = new QLabel;cmd->setText("Open(O):");QLineEdit *lineEdit = new QLineEdit;lineEdit->clear();QPushButton *submit = new QPushButton;submit->setText("Ok");QPushButton *cancel = new QPushButton;cancel->setText("Cancel");QPushButton *browser = new QPushButton;browser->setText("Browser");QHBoxLayout *cmdLayout = new QHBoxLayout;cmdLayout->addWidget(cmd);cmdLayout->addWidget(lineEdit);//创建布局,添加组件QHBoxLayout *buttonLayout = new QHBoxLayout;buttonLayout->addWidget(submit);buttonLayout->addWidget(cancel);buttonLayout->addWidget(browser);QVBoxLayout *mainLayout = new QVBoxLayout;mainLayout->addWidget(value);mainLayout->addLayout(cmdLayout);mainLayout->addLayout(buttonLayout);//创建主窗口并添加布局QWidget *window = new QWidget;window->setLayout(mainLayout);window->setWindowTitle("Run");window->show();return app.exec();
}

打开Qt Creator中的MinGW命令窗口,并进入到源码所在目录,通过如下命令生成.pro文件。

qmake -projec

执行qmake生成makefile文件。

qmake

通过如下命令编译连接生成可执行文件。

mingw32-make

3.可能遇到的问题:
QApplication: No such file or directory:由于Qt5将大部分桌面部件移到了Qt Widgets模块中,即QApplication已经从原来的<QtGui/QApplication>移动到<QtWidgets/QApplication>;

//解决办法:在.pro文件中添加如下语句
greaterThan(QT_MAJOR_VERSION, 4): QT += widgets

问题解决:https://blog.csdn.net/friendbkf/article/details/45440175

4.运行结果:如下是通过Qt Creator打开.pro工程,执行的结果。
在这里插入图片描述
5.qmake使用
https://www.cnblogs.com/xiangtingshen/p/12095924.html


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

相关文章

QT5编程入门教程(非常详细)

Qt 是一个跨平台的 C 框架&#xff08;C库&#xff09;&#xff0c;目前最新的版本是 Qt5。Qt5 还包含了很多小版本&#xff0c;其中推荐 Qt5.6 或 Qt5.9&#xff0c;这两个版本是 LTS 版本&#xff08;即长期支持版本&#xff09;&#xff0c;Bug较少&#xff0c;相对稳定。 Q…

取模和与运算的一点关系

与n取模其实就是和n-1相与 当然是在二进制基础上 在HashMap的 先高16位异或低16位再取模运算 取模运算转化成位运算公式:a%(2^n) 等价于 a&(2^n-1),而&操作比%操作具有更高的效率

负数的与运算

计算机中的位运算是基于补码的。正数的原码反码补码相同&#xff0c;而负数有一些差别。 如&#xff1a; 7的补码为0111 -7的补码为1001。其计算过程为先算出7的原码0111&#xff0c;按位取反得1000&#xff0c;在加上1得1001。这个步骤也是其他负数计算补码的方式。 示例&…

数与运算

数学是研究数与运算的一门科学&#xff0c;数和运算都是人类根据自然界的客观规律抽象出来的&#xff0c;人们利用抽象的假定去研究更高层次客观规律&#xff0c;再利用这些客观规律解决自然界中出现的问题&#xff0c;这就是数学学科的用途。 数学中的数由什么组成的&#xff…

C/C++:与运算、或运算、异或运算、指针

前言忘记进制的同学先看这里&#xff1a; 十进制数&#xff0c;没有前缀 二进制数&#xff0c;前缀是0b 八进制数&#xff0c;前缀是0o 十六进制数&#xff0c;前缀是0xlet decimalInteger 17 let binaryInteger 0b10001 // 二进制的17 let octalInteger 0o21 …

“”是什么含义?与运算入门级讲解;什么是与运算?

与运算&#xff08;AND&#xff09;是计算机中最基础、最常用的一种逻辑运算&#xff0c;也被称为按位与&#xff08;Bitwise AND&#xff09;运算。它是指在二进制数中&#xff0c;对两个二进制数的每一位进行逻辑与操作&#xff0c;只有当两个二进制数的对应位都为1时&#x…

数字电路三种基本逻辑运算关系:与运算、或运算、非运算

1、基本概念 1.逻辑常量与变量&#xff1a;逻辑常量只有两个&#xff0c;即0和1&#xff0c;用来表示两个对立的逻辑状态。逻辑变量与普通代数一样&#xff0c;也可以用字母、符号、数字及其组合来表示&#xff0c;但它们之间有着本质区别&#xff0c;因为逻辑变量的取值只…

二进制与运算、或运算、非运算

与运算 "与"运算是计算机中一种基本的逻辑运算方式&#xff0c;符号表示为&&#xff0c;运算法则为遇0得0。也就是说只要有0&#xff0c;结果即为0。 举例 或运算 "或"运算符号表示为|&#xff0c;运算法则为遇1得1。也就是说只要有1&#xff0c;结…

​二进制运算符:(与运算)、|(或运算)、~(取反运算)、^(异或运算)、位移运算符​

说明 所有的位运算符操作的都是二进制&#xff0c;而不是我们日常生活中常用的十进制。 在系统中&#xff0c;一个字节占8位。 按位与运算符&#xff08;&&#xff09; 参加运算的两个数据&#xff0c;按二进制位进行“与”运算。 运算规则&#xff1a;如果两个二进制…

第三章 运算方法与运算器

文章目录 定点补码加减法运算补码加减法运算方法溢出及检测溢出检测操作数与运算结果的符号位是否一致最高位的进位和符号位的进位是否一致变形补码 补码加减法的逻辑实现 移码加减运算及实现逻辑移码的加法运算移码加减法的溢出判断直接采用移码运算的溢出判断方法采用双符号判…

2019做报表用什么软件:报表类型,产品推荐

在大数据时代&#xff0c;报表可以帮助我们从海量数据中挖掘有用的数据&#xff0c;选择软件做什么就变得尤为重要。选择什么类型的软件进行报表?推荐哪些报表产品?本文请一位专业的数据分析师&#xff0c;介绍选择报表软件的经验。 ……阅读更多&#xff0c;请戳原文链接&am…

免费报表软件有哪些?5款热门工具

在企业管理过程中&#xff0c;报表往往都会通过一些简洁的图表方式&#xff0c;为大家呈现所有的数据。报表软件&#xff0c;可以在操作的过程中有效提升工作效率&#xff0c;所以有很多企业早就已经选择跟随信息技术的潮流&#xff0c;选择报表软件工具。很多人也一直都在关注…

分享几款好用免费的报表软件_报表软件推荐

Smartbi Insight Smartbi Insight&#xff08;企业报表平台&#xff09;以中国式报表、多维度分析、可视化仪表盘为核心&#xff0c;满足报表需求的功能以“真Excel”为特色&#xff0c;将Office Excel和WPS表格变为企业级WEB报表设计器&#xff0c;表格样式与计算逻辑的灵活性…

JimuReport积木报表 v1.5.8版本发布—免费的数据可视化报表

项目介绍 一款免费的数据可视化报表&#xff0c;含报表和大屏设计&#xff0c;像搭建积木一样在线设计报表&#xff01;功能涵盖&#xff0c;数据报表、打印设计、图表报表、大屏设计等&#xff01; Web 版报表设计器&#xff0c;类似于excel操作风格&#xff0c;通过拖拽完成报…

报表开发流程

报表开发是数据分析师的常见工作之一。报表是业务监控必备工具之一(用数据说话)&#xff0c;另一方面&#xff0c;报表监控的指标通常都是业务相关的重要指标&#xff0c;做报表的过程也是深入了解业务的过程。 把数据分析分为“描述、解释、预测、控制”4个层级。那么报表开发…

免费报表工具 - RDP报表工具

公司一直用ireport&#xff0c;后来偶然在一个报表QQ群里&#xff0c;看到了有人发RDP报表工具链接&#xff0c;一开始就以为是广告&#xff0c;都没敢点&#xff0c;要知道现在有太多骗子&#xff0c;后来看到群里有人问问题&#xff0c;又截了一些图&#xff0c;才敢放心点进…

mysql 免费报表工具_10款最出色的免费数据库管理工具

任何web软件和应用程序都需要强大的数据库管理工具。目前,网上的数据库管理工具各式各样,而开发者选择一款适合自己的数据库管理工具尤为重要。小编为大家收集了10款超强的数据库管理工具,帮助开发者轻松搞定很多难题。 OpenKeyval是一款免费、开源的键值数据库管理工具,基…

java 报表工具_最好用的5款java web免费报表工具

阅读提示&#xff1a; 文章中与FineReport软件使用的相关内容&#xff0c;基于软件的V7.0旧版本编写&#xff0c;不代表软件最新的使用方式。 FineReport最新版免费试用&#xff1a;https://www.finereport.com/product/active FineReport最新版使用教程&#xff1a;https://he…

软件测试之报表测试

什么是报表测试? 最近开始在做报表测试&#xff0c;顾名思义&#xff0c;就是指测试报表&#xff0c;报表主要是给一些特定的群体展示一些特定数据或是汇总数据&#xff0c;则报表测试主要是跟一堆数据打交道&#xff0c;检验和确认报表展示出来的数据是否正确&#xff0c;取值…

t3软件怎么生成报表_用友T3如何生成报表

用友T3如何生成报表 用友T3如何生成报表 1、报表生成财务报表 → 文件菜单 → 新建 → 选择行业分类模版 → 在格式状态下修改格式(左下角) → 点击左下角“格式”&#xff0c;使其变成“数据”状态 → 数据菜单 → 关键字 → 录入关键字(单位名称、年、月、日)→ 确定 2、保存…