【软件】Ubuntu下QT的安装和使用

news2024/10/16 15:15:57

【软件】Ubuntu下QT的安装和使用

零、前言

QT是应用得比较广泛的程序框架,是因为其跨平台特性比较好,且用C/C++作为开发语言,性能也比较好,故本文介绍如何安装和使用QT,用的版本是QT 6.2.4,由于QT在Windows和Linux下的使用差别不大,故我使用Ubuntu系统来讲解。

壹、QT的下载

  1. QT在之前是可以使用离线包下载的,但是现在都是使用的在线安装包安装了,在在线安装程序中需要使用账号登录,故我们需要注册一个QT官网的账号:https://login.qt.io/register

QT账号注册

  1. 接下来是下载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在线安装程序下载

贰、QT的安装

一、运行安装程序

我们需要在运行时通过传参为在线安装程序设置镜像源地址,具体操作如下:

Windows

Windows需要在打开的文件夹的路径处把路径全删除,输入cmd,按回车打开cmd窗口,执行如下命令:

qt-unified-windows-x64-online.exe --mirror https://mirrors.tuna.tsinghua.edu.cn/qt

Windows Qt安装程序的运行

Linux

Linux需要按Ctrl+Alt+T,在打开的bash中使用cd命令切换到下载目录,再执行如下命令:

# 添加运行权限
chmod +x qt-unified-linux-x64-online.run
# 运行在线安装程序
./qt-unified-linux-x64-online.run --mirro

QT的启动

二、安装过程

整个安装过程中需要注意的点如下:

  1. 输入账号密码,登录QT账号。安装步骤1

  2. 同意使用开源QT的条款和条件。安装步骤2

  3. 提示“XCB”找不到,需要使用sudo apt install libxcb-cursor-dev libxcb-cursor0安装“XCB”,然后继续。安装步骤3

  4. debug信息,可以选择发送或不发送。安装步骤4

  5. 安装目录,大家可以自由选择,一般软件是放在根目录下opt文件夹中的,所以我创建了/opt/qt文件夹,并设置为安装目录。安装步骤5

  6. 勾选Archive,然后点击筛选按钮,在左边QT下勾选要安装的版本即可,这边我勾选安装6.2.4版本。安装步骤6

  7. 开始安装。安装步骤7

  8. 下载的东西挺多的,需要等挺久,我们耐心等待一下。安装步骤8

  9. 安装完成。安装步骤9

  10. QT编辑器主界面。主界面主界面这边有三个提示,第一个是提示WebAssembly开发件套没有配置,第二个是提示安卓开发件套没有配置,第三个是问你是否开启界面向导程序带你熟悉一下界面,WebAssembly和安卓根据自己需求配置,界面向导可有可无。

至此,我们的QT就已经安装完成!

叁、QT的使用

一、创建项目

  1. 打开QT,在QT的主界面打开“欢迎”选项卡,点击“创建项目”按钮,进入到项目创建引导程序。Qt主界面

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

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

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

二、构建套件

在选择构建套件时,我们若只写C/C++代码,就只选GCC就好,但是GCC如果没有在电脑上配置好,便会出现如下警告,在“Desktop Qt 6.2.4 GCC 64 bit”前会有黄色的感叹号图标,此时,我们需要先在电脑上配置好GCC。如果没有警告的,则说明配置完成,跳过此部分。GCC配置警告


  1. 打开bash终端,安装gcc和g++。
# 安装C语言编译器
sudo apt install gcc
# 安装C++编译器
sudo apt install g++
  1. 点击上面引导程序中构建套件选择页面里的“Desktop Qt 6.2.4 GCC 64 bit”后面的“管理”按钮,进入到首选项页面,在首选项中把C编译器和C++编译器选择为刚刚安装好的编译器,点击“确定”即可。配置编译器

  2. 回到引导程序,点“下一步”,“完成”即可。完成创建

三、编译错误

完成后我们点左下角的绿色运行按钮即可编译并启动程序,然后第一次可能会出现如下错误,提示:-1: error: cannot find -lGL: No such file or directory,是没有安装libGL库,接下来讲如何解决。cannot find -lGL


  1. 使用以下命令检查libGL库是否安装(若提示locate命令找不到,可以使用sudo apt install plocate安装此命令):
locate libGL | grep libGLU
  1. 若没出现/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
  1. 再次点击左下角的绿色运行按钮如果还是报错,则需要创建一个软链接:
sudo ln -s /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/libGL.so
  1. 再次点击运行即可:运行结果

四、无法输入中文

建议使用系统自带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

肆、参考资料

  1. qt | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
  2. Qt | Tools for Each Stage of Software Development Lifecycle

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

windows安装deepspeed setup.py 207行找不到文件

一直报莫名奇妙的错误,查了半天也没查到 去看了一下源码,需要安装git,我没有安装 git命令获得信息也没啥用 直接注释掉 成功运行

HazyDet数据集:包含 383,000 雾霾场景中基于无人机的目标检测设计的大规模数据集

2024-09-30,由中国人民解放军陆军工程大学、南开大学、南京邮电大学和南京理工大学的研究人员联合创建了HazyDet数据集,目的解决无人机在恶劣天气条件下的环境感知问题。这个数据集的推出,极大地填补了相关基准测试的空白,为无人机…

Windows系统部署redis自启动服务

文章目录 引言I redis以本地服务运行(Windows service)使用MSI安装包配置文件,配置端口和密码II redis服务以终端命令启动缺点运行redis-server并指定端口和密码III 知识扩展确认redis-server可用性Installing the Service引言 服务器是Windows系统,所以使用Windows不是re…

Langchain CharacterTextSplitter无法分割文档问题

在使用Langchain的文档分割器时,使用CharacterTextSplitter拆分文档是,发现返回的文档根本没有变化,即使设置了chunk_size,返回的大小也不符合参数设置。 CharacterTextSplitter设置了150,但是根本没有处理&#xff0…

软件测试学习笔记丨Linux三剑客-sed

本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/32521 一、简介 sed(Stream editor)是一个功能强大的文本流编辑器,主要用于对文本进行处理和转换。它适用于自动化处理大量的文本数据,能够支持…

ASML业绩暴雷,股价一度跌超16%

KlipC报道:当地时间10月15日,阿斯麦(ASML)原定于周三公布的三季度业绩报告由于技术原因被短暂地提前公布,业绩报告显示,阿斯麦第三季度总净销售额75亿欧元,毛利率50.8%,净利润21亿欧…

NoMachine安装使用

目录 前言 一、安装教程 1) 首先下载 NoMachine 软件 Linux arm64 deb 版本的安装包,然后安装到开发板的Linux 系统中 a. 由于 RK3588S 是 ARMv8 架构的 SOC,我们使用的系统为 Ubuntu 或者Debian,所以这里需要下载 NoMachine for ARM ARM…

C++ 模板(基础)

前言: C 中的模板是一个强大的功能,允许程序员编写通用的代码,这些代码可以处理任何数据类型。模板使得代码更加灵活和可重用,而不必为每种数据类型编写重复的代码。下面详细解释 C 中的模板 内容摘要: 本文内容包含…

vue使用jquery的ajax,页面跳转

一、引入jquery依赖 打开终端更新npm npm install -g npm 更新完后引入输入npm install jquery 加载完后 在最外层的package.json文件中加入以下代码 配置好后导入jquery 设置变量用于接收服务器传输的数据 定义ajax申请数据 服务器的Controller层传输数据 (…

传输层协议UDP详解

目录 一. 知识准备 1.1 传输层 1.2 重识端口号 二. UDP协议 三. UDP协议特点 一. 知识准备 1.1 传输层 前面已经讲过,HTTP协议是应用层协议,在此之前,我们短暂的认为HTTP是直接通过应用层与外界通信的。但是我们要知道&…

新手爬虫DAY1

这个错误信息表明在你的Python程序中,re.search() 函数没有找到预期的匹配项,因此返回了 None。当你尝试在 None 对象上调用 group(1) 方法时,Python 抛出了一个 AttributeError。 具体来说,错误发生在 pc.py 文件的第6行&#x…

《RECONX: RECONSTRUCT ANY SCENE FROM SPARSEVIEWS WITH VIDEO DIFFUSION MODEL》论文阅读

论文地址:https://arxiv.org/pdf/2408.16767 项目地址:GitHub - liuff19/ReconX: ReconX: Reconstruct Any Scene from Sparse Views with Video Diffusion Model ---------------------------------------------------------------------------------…

Open-WebUI

Open-WebUI特点⭐ ️直观的界面:聊天界面从 ChatGPT 中汲取灵感,确保用户友好的体验。响应式设计:在桌面和移动设备上享受无缝体验。⚡快速响应:享受快速响应的性能。轻松设置:使用 Docker 或 Kubernetes(…

【自然语言处理】Encoder-Decoder模型中Attention机制的引入

在 Encoder-Decoder 模型中引入 Attention 机制,是为了改善基本Seq2Seq模型的性能,特别是当处理长序列时,传统的Encoder-Decoder模型容易面临信息压缩的困难。Attention机制可以帮助模型动态地选择源序列中相关的信息,从而提高翻译…

硬盘文件误删:原因、恢复方案与预防措施

一、硬盘文件误删现象描述 在日常使用电脑的过程中,硬盘文件误删是一个常见且令人头疼的问题。许多用户在进行文件整理、删除无用资料或进行系统清理时,一不小心就可能将重要文件误删。这些误删的文件可能包括工作文档、学习资料、家庭照片、视频等&…

【含文档】基于Springboot+Vue的采购管理系统(含源码+数据库+lw)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 系统定…

SpringBoot实现桂林旅游的智能推荐

3系统分析 3.1可行性分析 通过对本桂林旅游景点导游平台实行的目的初步调查和分析,提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本桂林旅游景点导游平台采用SSM框架,JAVA作…

基于Docker安装Grafana及其基本功能

Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。 拉取Grafana镜像 docker pull grafana/grafana 运行镜像 docker run -d -p 3000:3000 --namegrafana grafana/grafana 打开浏览器,访问 http://l…

【Vue】Vue2(10)

文章目录 1 过度与动画1.1 Test.vue1.2 Test2.vue1.3 Test3.vue1.4 TodoList_动画:MyItem.vue 2 配置代理服务器2.1 方法一2.2 方法二2.3 vue.config.js2.4 App.vue 3 github搜索案例3.1 静态页面3.2 Search.vue3.3 List.vue3.4 App.vue3.5 main.js3.6 github搜索案…

免费插件集-illustrator插件-Ai插件-路径点到点连线

文章目录 1.介绍2.安装3.通过窗口>扩展>知了插件4.功能解释5.总结 1.介绍 本文介绍一款免费插件,加强illustrator使用人员工作效率,实现简单路径内部点到点连线功能。首先从下载网址下载这款插件 https://download.csdn.net/download/m0_67316550…