• 方案介绍
    • 一、前言
    • 二、QT下载
    • 三、QT安装
    • 四、新建QT工程
    • 五、如何打开现有的工程?
    • 六、更新Token失败如何解决?
    • 七、华为云的工程需要改哪里?
    • 八、Qt是什么?
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

QT工程打开、编译、运行流程

03/13 09:43
586
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

更多详细资料请联系.docx

共1个文件

一、前言

这篇文章介绍QT的工程如何使用。 目前设计的很多的物联网项目的APP都是采用Qt开发的。很多同学对Qt比较陌生,不知道如何使用QT。

这篇文章就来解决这个问题。

二、QT下载

我这里采用的Qt版本是5.12.6,目前开发的物联网项目的上位机APP都是采用这个版本的QT开发的。

目前官网上是无法下载(国内的IP地址被封了,科学上网才可以),我这将QT的安装包已经下载下来了,放在了网盘里,大家可以去网盘下载。

网盘地址: https://ccnr8sukk85n.feishu.cn/wiki/QjY8weDYHibqRYkFP2qcA9aGnvb?from=from_copylink

(在软件工具目录QT安装包目录下)

image-20250311170108578

这是 QT5.12.6的官方下载地址:https://download.qt.io/archive/qt/5.12/5.12.6

你也可以从官方下载地址下载(需要解决上外网的问题)。

打开下载链接后选择下面的版本进行下载:

三、QT安装

QT安装的路径需要设置在纯英文路径下。一般默认的C盘路径就可以。 如果你要换其他安装目录,也要保证路径中没有中文字符。

软件安装时断网安装,否则会提示输入账户(当然,你注册一个账号登录也是可以的)。

双击安装包就可以进行安装。

image-20221203151742653

**选择编译器: (一定要看清楚了) ** (如果你需要其他的编译器,可自行选择)

image-20241028152725134

四、新建QT工程

这个章节是教大家测试一下安装之后的QT环境是否正常。

4.1 打开QT软件

安装QT之后,可以在Qt的安装目录下找到你的QT程序,你可以手动创建一个快捷方式放在桌面。

你可以根据你的QT安装目录去寻找你的QT软件。

比如 我的路径如下。

C:QtQt5.12.6ToolsQtCreatorbinqtcreator.exe

双击qtcreator.exe 就可以打开QT软件。

image-20250311170758671

4.2 新建工程

【1】新建工程

image-20240117144052547

【2】设置项目的名称。

image-20250304151039436

【3】选择编译系统

image-20240117144239681

【4】选择默认继承的类

image-20240117144302275

【5】选择编译器,如果你要编译Android的,可以选Android(如下)

image-20241028153603487

【6】点击完成

image-20240117144354252

【7】工程创建完成

image-20250304151134694

4.3 切换编译器

在左下角是可以切换编译器的。 可以选择用什么样的编译器编译程序。

目前新建工程的时候选择了2种编译器。 一种是mingw32这个编译Windows下运行的程序。 一种是Android编译器,可以生成Android手机APP。

不过要注意:Android的编译器需要配置一些环境才可以正常使用,这个大家可以网上找找教程配置一下就行了。

也可以看这篇文章(这篇是付费的)

https://blog.csdn.net/xiaolong1126626497/article/details/117254453

windows的编译器就没有这么麻烦,安装好Qt就可以编译使用。

下面我这里就选择的 mingw32这个编译器,编译Windows下运行的程序。

image-20250304151140151

4.4 编译测试功能

创建完毕之后,编译测试一下功能是否OK。

点击左下角的绿色三角形按钮

image-20250304151150333

正常运行就可以看到弹出一个白色的框框。这就表示工程环境没有问题了。 接下来就可以放心的设计界面了。

image-20250304151207573

到此,如果正常,说明你的环境已经安装好了。

五、如何打开现有的工程?

如果你得到了一个已经开发好的Qt工程,你想打开它编译使用,如何操作?

比如,你得到的工程是这样的。 你需要在你电脑上创建一个纯英文的目录,比如:D:/QtProject,再将这个工程复制 过去。

image-20250311171330452

复制过去之后,打开文件夹,可以看到后缀.pro 的这个文件。 双击它就可以打开工程。

image-20250311171526339

当然也有意外情况,如何你安装了QT但是这里的图标没有自动识别为QT工程,怎么办?

你可以,先打开Qt软件,软件在QT软件里选择打开工程,找到你的工程路径,选择工程打开也可以的。

image-20250311172106246

第一次打开工程需要你选择编译器。 如果你要编译器Android 和 Windows的版本,就按下面的截图选择编译器。

image-20250311172149613

进来之后,如果要编译Windows版本的,就按下面的截图设置配置。就可以编译运行了。

image-20250311172238284

启动之后的效果。

image-20250311172407418

如果你想编译Android版本的。 那么切换编译器就可以了。

image-20250311172536258

点击 锤子 按钮构建。

构建完成之后,在编译输出页面,可以看到生成的Android的安装包路径位置。

image-20250311172631742

然后通过QQ 或者 微信 其他手段发给你的手机就可以安装了。

QQ 或 微信 默认不识别安装包的。 你需要选择浏览器打开,就可以识别安装包,然后安装了。

六、更新Token失败如何解决?

如果你的项目是物联网项目,需要连接华为云IOT这种物联网服务器获取数据。 代码就会有使用HTTPS请求。

用到了HTTPS 就需要SSL的库。 你默认安装的QT是不带这些库的。

如果没有这些库,你点击界面上的的更新token 就会报错。

应用程序输出 栏目里也会提示警告。

比如: qt.network.ssl: QSslSocket::connectToHostEncrypted: TLS initialization faile

这样的提示。

如何解决呢?

在你的项目资料包目录下,会有一个windows的APP文件目录,进去可以看到两个文件。

libcrypto-1_1.dlllibssl-1_1.dll

image-20250311173219785

将这两个文件拷贝到你的Qt的安装目录下C:QtQt5.12.65.12.6mingw73_32bin 就可以了。

image-20250311173511683

然后再运行程序,测试更新Token就正常的。

image-20250311173702659

七、华为云的工程需要改哪里?

如果你的项目是华为云IOT的工程,运行了Qt之后需要替换你的华为云账号。

前提条件: 你的华为云是标准版你是严格按照设计文档做的步骤、你的项目编号是大于172

那么只需要,修改widget.h 文件的3个参数即可。

image-20250311174812570

如果不是呢?

看这个文档的第五章:https://blog.csdn.net/xiaolong1126626497/article/details/134781708

八、Qt是什么?

Qt介绍与应用

1. Qt是什么?

Qt(读作“cute”)是一个跨平台的C++应用开发框架,它提供了丰富的API和工具,用于开发图形界面(GUI)**和**非图形界面(CLI、后台服务)**的应用程序。Qt 由 Qt Group(原Digia公司)维护,支持**Windows、Linux、macOS、Android、iOS等多个平台,并且支持嵌入式开发,如嵌入式Linux、RTOS等。

2. Qt的核心特点

  1. 跨平台性
    • 代码一次编写,可在多个平台(Windows、Linux、macOS、Android、iOS、嵌入式Linux)上运行,减少重复开发工作。
  2. 模块化设计
    • Qt 采用模块化设计,提供了GUI、网络通信多线程数据库、多媒体、3D渲染等模块,可以根据需求选择合适的模块进行开发。
  3. 强大的GUI开发能力
    • Qt 提供了Qt Widgets(传统界面组件)和Qt Quick(QML + C++)(基于QML的现代UI开发)两种方式,可用于开发桌面软件、移动端App、嵌入式设备UI等
  4. 信号与槽(Signal & Slot)机制
    • Qt 采用信号与槽机制,可以实现高效的事件驱动编程,使界面组件和后台逻辑的交互更加方便。
  5. 丰富的工具支持
    • Qt Creator:官方IDE,支持代码编辑、调试、UI设计等功能。
    • Qt Designer:用于可视化设计UI界面。
    • qmake & CMake:支持项目构建和管理。
    • Qt Linguist:提供国际化和本地化支持,方便多语言开发。
  6. 支持嵌入式开发
  7. 开源与商业版本
    • Qt 提供GPL/LGPL 许可证的开源版本,同时也提供商业授权版本,可用于闭源商业应用开发。

3. Qt能做什么?

Qt 适用于各种软件开发场景,常见的应用包括:

应用类型 具体示例
桌面应用 Windows、Linux、macOS 应用,如文本编辑器、IDE、图像处理软件(如Photoshop的插件)、系统监控工具
嵌入式开发 智能家居、车载系统、工业控制(HMI人机界面)、医疗设备(医院监护仪)、自助终端(ATM机)
移动应用 Android 和 iOS 应用,如地图导航、智能设备控制App
物联网(IoT) 远程设备控制、智能硬件管理界面、数据采集终端
3D与图形应用 游戏引擎、3D建模软件(支持OpenGL、Vulkan等)
网络通信 基于TCP/IP、MQTT、HTTP的客户端和服务器应用,如即时通讯软件
数据库管理 连接SQL/NoSQL数据库,开发数据库管理工具

4. Qt的核心模块

Qt 采用模块化架构,常见的模块如下:

模块名称 功能
Qt Core 核心模块,提供基本数据结构、线程管理、文件操作、时间管理等功能
Qt GUI 2D图形、窗口管理、OpenGL渲染支持
Qt Widgets 传统桌面UI组件,如按钮、文本框、表格、树形控件等
Qt Quick 基于QML的UI开发,支持流畅动画和触摸屏操作,适合移动端和嵌入式设备
Qt Multimedia 多媒体处理,如音视频播放、摄像头访问
Qt Network 网络通信模块,支持HTTP、TCP、UDP、WebSocket、MQTT等
Qt SQL 数据库模块,支持MySQL、SQLite、PostgreSQL等数据库
Qt Bluetooth 支持蓝牙通信
Qt WebEngine 集成Chromium浏览器引擎,用于开发Web应用
Qt Charts 提供丰富的图表绘制功能
Qt 3D 提供3D图形渲染,支持OpenGL
Qt SerialPort 串口通信,适用于嵌入式设备

5. Qt 开发方式

Qt 支持两种主要的UI开发方式:

(1)Qt Widgets

Qt Widgets 是 Qt 传统的 GUI 库,提供了基于**C++**的窗口组件,如按钮、文本框、菜单、表格等,适用于桌面应用开发。

示例:

#include <QApplication>
#include <QPushButton>

int main(int argc, char *argv[]) {
    QApplication app(argc, argv);
    QPushButton button("Hello, Qt!");
    button.show();
    return app.exec();
}
(2)Qt Quick(QML + C++)

Qt Quick 采用QML(类似JavaScript的声明式语言),适用于移动应用、嵌入式触摸屏界面,支持流畅动画和动态UI。

示例:

import QtQuick 2.15
import QtQuick.Controls 2.15

ApplicationWindow {
    visible: true
    width: 640
    height: 480

    Button {
        text: "Click Me"
        anchors.centerIn: parent
        onClicked: console.log("Button Clicked!")
    }
}

6. Qt 开发环境搭建

(1)安装 Qt
  1. 下载 Qt:从Qt 官网下载 Qt 安装包。
  2. 选择安装组件:
    • 必选:Qt Core、Qt Widgets、Qt Quick、Qt Network、Qt Creator(IDE)
    • 选装:Qt Multimedia、Qt SerialPort、Qt WebEngine 等
  3. 配置 Qt Creator,创建新项目。
(2)交叉编译(嵌入式开发)
  1. 下载安装 ARM 交叉编译工具链
  2. 配置 Qt 交叉编译环境(qmake、CMake)
  3. 使用 Qt Creator 远程调试嵌入式设备

7. Qt 的应用案例

  1. 桌面软件
    • VLC 播放器(开源媒体播放器)
    • Wireshark(网络抓包工具)
    • VirtualBox(虚拟机软件的 UI)
  2. 嵌入式系统
  3. 移动应用
    • Telegram(Qt 版本)
    • Google Earth(部分界面使用 Qt)

9. 总结

Qt 是一个强大的跨平台 C++ 开发框架,适用于桌面、移动、嵌入式开发,提供丰富的 API 和工具支持,适用于工业控制、车载系统、智能家居、物联网等领域。如果你需要高性能、多平台兼容、现代化 UI 界面的开发,Qt 是一个值得选择的框架!

  • 更多详细资料请联系.docx
    下载

相关推荐