【软件】Ubuntu下QT的安装和使用
【软件】Ubuntu下QT的安装和使用
零、前言
QT是应用得比较广泛的程序框架,是因为其跨平台特性比较好,且用C/C++作为开发语言,性能也比较好,故本文介绍如何安装和使用QT,用的版本是QT 6.2.4,由于QT在Windows和Linux下的使用差别不大,故我使用Ubuntu系统来讲解。
壹、QT的下载
- QT在之前是可以使用离线包下载的,但是现在都是使用的在线安装包安装了,在在线安装程序中需要使用账号登录,故我们需要注册一个QT官网的账号:https://login.qt.io/register

- 接下来是下载QT安装程序,我们可以在QT官网下载:https://download.qt.io/official_releases/online_installers/,也可以在镜像源下载:https://mirrors.tuna.tsinghua.edu.cn/qt/official_releases/online_installers/,由于某种原因,在官网下载比较慢,推荐在镜像源下载,根据自己的系统和处理器类型选择对应的文件下载即可,我的是Ubuntu系统,英特尔的x64处理器,所以我这边选择
qt-unified-linux-x64-online.run(Windows系统,英特尔或AMD的x64处理器的可以选qt-unified-windows-x64-online.exe),如图:

贰、QT的安装
一、运行安装程序
我们需要在运行时通过传参为在线安装程序设置镜像源地址,具体操作如下:
Windows
Windows需要在打开的文件夹的路径处把路径全删除,输入cmd,按回车打开cmd窗口,执行如下命令:
qt-unified-windows-x64-online.exe --mirror https://mirrors.tuna.tsinghua.edu.cn/qt

Linux
Linux需要按Ctrl+Alt+T,在打开的bash中使用cd命令切换到下载目录,再执行如下命令:
# 添加运行权限
chmod +x qt-unified-linux-x64-online.run
# 运行在线安装程序
./qt-unified-linux-x64-online.run --mirro

二、安装过程
整个安装过程中需要注意的点如下:
-
输入账号密码,登录QT账号。

-
同意使用开源QT的条款和条件。

-
提示“XCB”找不到,需要使用
sudo apt install libxcb-cursor-dev libxcb-cursor0安装“XCB”,然后继续。
-
debug信息,可以选择发送或不发送。

-
安装目录,大家可以自由选择,一般软件是放在根目录下opt文件夹中的,所以我创建了
/opt/qt文件夹,并设置为安装目录。
-
勾选Archive,然后点击筛选按钮,在左边QT下勾选要安装的版本即可,这边我勾选安装6.2.4版本。

-
开始安装。

-
下载的东西挺多的,需要等挺久,我们耐心等待一下。

-
安装完成。

-
QT编辑器主界面。
主界面这边有三个提示,第一个是提示WebAssembly开发件套没有配置,第二个是提示安卓开发件套没有配置,第三个是问你是否开启界面向导程序带你熟悉一下界面,WebAssembly和安卓根据自己需求配置,界面向导可有可无。
至此,我们的QT就已经安装完成!
叁、QT的使用
一、创建项目
-
打开QT,在QT的主界面打开“欢迎”选项卡,点击“创建项目”按钮,进入到项目创建引导程序。

-
在新项目引导中,我们第一步选择“Application (QT)”,然后选择“Qt Widgets Application”,这是Qt窗口程序,然后点击“选择”按钮以继续。

-
配置一下项目名称和创建路径,创建路径建议在家目录下创建个QtProject目录,以后Qt的项目都放这里,这样方便管理,配置好后点击“下一步”按钮。

-
构建系统可以选qmake或者cmake,qmake适合小项目,比较简单灵活,且兼容Qt之前的版本,而cmake比较适合大项目,相对来讲稳定很多,大家根据自己的需要选择合适的构建系统。这边因为是示例,比较简单,故我选择qmake,选好之后点击“下一步”。

二、构建套件
在选择构建套件时,我们若只写C/C++代码,就只选GCC就好,但是GCC如果没有在电脑上配置好,便会出现如下警告,在“Desktop Qt 6.2.4 GCC 64 bit”前会有黄色的感叹号图标,此时,我们需要先在电脑上配置好GCC。如果没有警告的,则说明配置完成,跳过此部分。
- 打开bash终端,安装gcc和g++。
# 安装C语言编译器
sudo apt install gcc
# 安装C++编译器
sudo apt install g++
-
点击上面引导程序中构建套件选择页面里的“Desktop Qt 6.2.4 GCC 64 bit”后面的“管理”按钮,进入到首选项页面,在首选项中把C编译器和C++编译器选择为刚刚安装好的编译器,点击“确定”即可。

-
回到引导程序,点“下一步”,“完成”即可。

三、编译错误
完成后我们点左下角的绿色运行按钮即可编译并启动程序,然后第一次可能会出现如下错误,提示:-1: error: cannot find -lGL: No such file or directory,是没有安装libGL库,接下来讲如何解决。
- 使用以下命令检查libGL库是否安装(若提示locate命令找不到,可以使用
sudo apt install plocate安装此命令):
locate libGL | grep libGLU
- 若没出现
/usr/lib/x86_64-linux-gnu/libGLU.so.1和/usr/lib/x86_64-linux-gnu/libGLU.so.1.3.1,则需要安装libgl1-mesa-dev,命令如下:
sudo apt-get install libgl1-mesa-dev
- 再次点击左下角的绿色运行按钮如果还是报错,则需要创建一个软链接:
sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so
- 再次点击运行即可:

四、无法输入中文
建议使用系统自带ibus输入法框架, 不要安装其他输入法。
- 安装中文语言
在“设置setting”-“区域与语言Region&Language”-“管理已安装的语言Manage Install Languages”-“添加或删除语言
Install/Remove Languages”中,安装中文简体。 - 选择ibus框架
在“设置setting”-“区域与语言Region&Language”-“管理已安装的语言Manage Install Languages”-“键盘输入法系统”中,
选择ibus。 - 应用
点击“应用到整个系统”,然后关闭。 - 安装ibus的pinyin
sudo apt install ibus-libpinyin
- 在ibus首选项中添加中文输入法
使用下面的命令打开ibus首选项,在ibus首选项中,点击“输入法”,添加“中文”-“智能拼音”,然后关闭。
ibus-setup
- 重启电脑
reboot
肆、参考资料
- qt | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
- Qt | Tools for Each Stage of Software Development Lifecycle
相关文章:
【软件】Ubuntu下QT的安装和使用
【软件】Ubuntu下QT的安装和使用 零、前言 QT是应用得比较广泛的程序框架,是因为其跨平台特性比较好,且用C/C作为开发语言,性能也比较好,故本文介绍如何安装和使用QT,用的版本是QT 6.2.4,由于QT在Windows…...
在Spring Boot中具有多个实现的接口正确注入的六种方式
博客主页: 南来_北往 系列专栏:Spring Boot实战 在Spring Boot中,当一个接口具有多个实现时,正确地将这些实现注入到需要使用它们的地方是一个常见的需求。以下是在Spring Boot中实现这一目标的六种方式: 1. 使用Autowir…...
登陆微软账户太慢了,如何解决
软账号登录慢解决办法: 打开“网络和Internet”选择“以太网”选择“更改适配器选项”选择现用网络,右键->属性选择“IPV4”右键属性更改DNS地址为以下两者4.2.2.14.2.2.2...
Vue3动态组件component不生效问题解决方法
问题: vue3循环渲染动态组件component不生效,页面空白 在vue3使用component动态组件展示组件时,组件就是不展示显示空白。在vue2中使用动态变量component展示组件都是没问题。试了很多方法 踩了很多坑,所以记录下: 登录…...
算力基础篇:从零开始了解算力
什么是算力 算力即计算能力(Computing Power),狭义上指对数字问题的运算能力,而广义上指对输入信息处理后实现结果输出的一种能力。虽然处理的内容不同,但处理过程的能力都可抽象为算力。比如人类大脑、手机以及各类服…...
Redis 万字入门教程
0. 前言 文章已经收录到 GitHub 个人博客项目,欢迎 Star: https://github.com/chenyl8848/chenyl8848.github.io或者访问网站,进行在线浏览: https://chenyl8848.github.io/1. NoSQL 1.1 NoSQL 介绍 NoSQL(Not Only SQL )&…...
LeetCode :LCR 173. 点名
🔥个人主页:guoguoqiang. 🔥专栏:leetcode刷题 LeetCode :LCR 173. 点名 这个题就是缺失的数字,我们可以通过三种方式来解决这个问题。 1.可以通过位异或的方式来找到这个数(相同的数异或为…...
Gin框架操作指南06:POST绑定(下)
官方文档地址(中文):https://gin-gonic.com/zh-cn/docs/ 注:没用过Gin的读者强烈建议先阅读第一节:Gin操作指南:开山篇。 本节继续演示POST绑定,包括将request-body绑定到不同的结构体中&#x…...
LLaMA、llama.cpp和Ollama区别
LLaMA:LLaMA是由Meta(Facebook的母公司)开源的大型语言模型,它提供了不同规模的模型,包括1B、3B、11B和90B等参数规模的版本。LLaMA模型支持多语言对话,并在多个基准数据集上进行了评估,展现出与…...
NDK开发
NDK介绍 app为什么会把代码放到so中 a) C语言历史悠久,有很多现成的代码可用 b) C代码执行效率比Java高 c) Java代码很容易被反编译,而且反编译以后的逻辑很清晰 为什么要学习NDK开发 在安卓的so开发中,其他基本与C/C开发一致ÿ…...
docker overlay 占用空间太大,迁移到 /data/
将 Docker 的 overlay 存储驱动迁移到 /data/ 目录下,可以通过以下步骤完成: 1. 停止 Docker 服务 首先,停止 Docker 服务以确保没有容器在运行,并且数据不会被写入到当前的存储位置。 sudo systemctl stop docker2. 备份现有数…...
Windows性能监控与调优:让电脑运行如飞
一、性能监控 1. 使用任务管理器深入监控 打开任务管理器 我们可以通过按下Ctrl Shift Esc快捷键来打开任务管理器。 或者右键点击任务栏空白处,选择“任务管理器”。 查看性能 在任务管理器中,点击“性能”标签页。 我们可以看到“概览”标签&#x…...
前端响应式布局
1.什么是响应式布局? 响应式布局是一种使网页在不同设备(如手机、平板和桌面)上均能良好显示的设计理念。 2.响应式布局的原理? 通过灵活的网格布局、CSS 媒体查询和弹性单位等技术,实现内容自适应屏幕尺寸变化。 3.响…...
力扣MySQL 1581
先把两张表连接,amount为null 的正是我们需要的,再按customer_id聚合 select Visits.visit_id,customer_id ,Transactions.visit_id ,transaction_id ,amount from Visits left join Transactions on Visits.visit_idTransactions.visit_id 正确代码&…...
就是这个样的粗爆,手搓一个计算器:科学计算器
作为程序员,没有合适的工具,就得手搓一个,PC端,移动端均可适用。废话不多说,直接上代码。 HTML: <div class"calculator"><div class"display-wrapper"><div class"display…...
wordpress使用popup弹窗插件的对比
您在寻找最好的 WordPress 弹出插件吗?大多数网站利用某种形状或形式的弹出窗口来将访问者指向他们希望他们去的地方。例如,这可能用于结帐、电子邮件订阅或用于生成潜在客户。 表现 弹出插件会减慢您的网站速度。当插件使用 WordPress 跟踪弹出窗口的…...
开源OpenStack
1.查询HCS基于OpenStack哪个版本开发 2.九大核心组件 OpenStack可以对接FC也可以对接KVM主机;(OpenStack 对接华为FusionCompute,一个集群对应 openstack 一台计算主机)-引申出nova compute 2.1nova nova两个核心组件nova contro…...
基于Spring Boot+vue技术的导游系统设计与实现
论文下载【免费】基于SpringBootvue技术的导游系统设计与实现资源-CSDN文库 摘 要 本研究背景主要聚焦于当前旅游业信息化、智能化的发展趋势。随着移动互联网的普及和人们出行方式的多样化,导游系统作为旅游服务的重要组成部分,亟需进行技术革新以提…...
软件测试 —— 灰度测试及测试流程!
软件测试中的灰度测试是一种结合了黑盒测试和白盒测试特点的测试方法,旨在通过逐步扩大测试范围来评估新系统或新功能在真实环境中的性能和稳定性。灰度测试是软件开发过程中的一个重要环节,它有助于在全面发布前发现并修复潜在问题,同时收集…...
中科星图GVE(案例)——AI实现光伏面板提取
目录 简介 函数 gve.Services.AI.solarExtraction(image) 代码 结果 知识星球 机器学习 简介 光伏面板提取是一种将光伏面板从图像或视频中准确地分割出来的任务,可以通过使用深度学习算法来实现。 以下是一种基于深度学习的光伏面板提取的实现步骤&#x…...
大数据零基础学习day1之环境准备和大数据初步理解
学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...
【OSG学习笔记】Day 16: 骨骼动画与蒙皮(osgAnimation)
骨骼动画基础 骨骼动画是 3D 计算机图形中常用的技术,它通过以下两个主要组件实现角色动画。 骨骼系统 (Skeleton):由层级结构的骨头组成,类似于人体骨骼蒙皮 (Mesh Skinning):将模型网格顶点绑定到骨骼上,使骨骼移动…...
初探Service服务发现机制
1.Service简介 Service是将运行在一组Pod上的应用程序发布为网络服务的抽象方法。 主要功能:服务发现和负载均衡。 Service类型的包括ClusterIP类型、NodePort类型、LoadBalancer类型、ExternalName类型 2.Endpoints简介 Endpoints是一种Kubernetes资源…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...
Python+ZeroMQ实战:智能车辆状态监控与模拟模式自动切换
目录 关键点 技术实现1 技术实现2 摘要: 本文将介绍如何利用Python和ZeroMQ消息队列构建一个智能车辆状态监控系统。系统能够根据时间策略自动切换驾驶模式(自动驾驶、人工驾驶、远程驾驶、主动安全),并通过实时消息推送更新车…...
【p2p、分布式,区块链笔记 MESH】Bluetooth蓝牙通信 BLE Mesh协议的拓扑结构 定向转发机制
目录 节点的功能承载层(GATT/Adv)局限性: 拓扑关系定向转发机制定向转发意义 CG 节点的功能 节点的功能由节点支持的特性和功能决定。所有节点都能够发送和接收网格消息。节点还可以选择支持一个或多个附加功能,如 Configuration …...
前端中slice和splic的区别
1. slice slice 用于从数组中提取一部分元素,返回一个新的数组。 特点: 不修改原数组:slice 不会改变原数组,而是返回一个新的数组。提取数组的部分:slice 会根据指定的开始索引和结束索引提取数组的一部分。不包含…...
上位机开发过程中的设计模式体会(1):工厂方法模式、单例模式和生成器模式
简介 在我的 QT/C 开发工作中,合理运用设计模式极大地提高了代码的可维护性和可扩展性。本文将分享我在实际项目中应用的三种创造型模式:工厂方法模式、单例模式和生成器模式。 1. 工厂模式 (Factory Pattern) 应用场景 在我的 QT 项目中曾经有一个需…...
comfyui 工作流中 图生视频 如何增加视频的长度到5秒
comfyUI 工作流怎么可以生成更长的视频。除了硬件显存要求之外还有别的方法吗? 在ComfyUI中实现图生视频并延长到5秒,需要结合多个扩展和技巧。以下是完整解决方案: 核心工作流配置(24fps下5秒120帧) #mermaid-svg-yP…...
多元隐函数 偏导公式
我们来推导隐函数 z z ( x , y ) z z(x, y) zz(x,y) 的偏导公式,给定一个隐函数关系: F ( x , y , z ( x , y ) ) 0 F(x, y, z(x, y)) 0 F(x,y,z(x,y))0 🧠 目标: 求 ∂ z ∂ x \frac{\partial z}{\partial x} ∂x∂z、 …...
