【软件】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/或https://mirrors.aliyun.com/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
:阿里镜像源安装
qt-unified-windows-x64-online.exe --mirror https://mirrors.aliyun.com/qt

Linux
Linux需要按Ctrl+Alt+T,在打开的bash中使用cd命令切换到下载目录,再执行如下命令:
# 添加运行权限
chmod +x qt-unified-linux-x64-online.run
# 运行在线安装程序(清华镜像源,和阿里镜像源二选一)
./qt-unified-linux-x64-online.run --mirror https://mirrors.tuna.tsinghua.edu.cn/qt
# 运行在线安装程序(阿里镜像源,和清华镜像源二选一)
./qt-unified-linux-x64-online.run --mirror https://mirrors.aliyun.com/qt

二、安装过程
整个安装过程中需要注意的点如下:
输入账号密码,登录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的安装和使用的更多相关文章
- Linux(Ubuntu)下MySQL的安装与配置
转自:http://www.2cto.com/database/201401/273423.html 在Linux下MySQL的安装,我一直觉得挺麻烦的,因为之前安装时就是由于复杂的配置导致有点晕.今 ...
- ubuntu下的openfire安装、配置、运行
openfire服务器 Openfire 采用Java开发,开源的实时协作(RTC)服务器基于XMPP(Jabber)协议.您可以使用它轻易的构建高效率的即时通信服务器.Op ...
- 2010-01-20 12:09 ubuntu下minicom的安装及使用
转http://hi.baidu.com/npugtawqdnbgqrq/item/106f805409b42813db163527 ubuntu下minicom的安装及使用 安装: sudo apt ...
- ubuntu下root和安装mysql
sudo password创建新的root密码: 1.用当前登录用户打开终端,在终端输入命令 sudo passwd,输入当前用户的密码然后回车 2.会提示输入新密码,输入完成后回车(http://w ...
- Ubuntu下FileZilla的安装
FileZilla是一个免费而且开源的FTP客户端软件,共有两种版本:客户端版本.服务器版本.FileZilla有条理的界面和管理多站点的简化方式使得FileZilla Client成为一个方便高效的 ...
- Ubuntu下FileZilla的安装(转载)
转自:http://os.51cto.com/art/201103/247564.htm FileZilla是一个免费而且开源的FTP客户端软件,共有两种版本:客户端版本.服务器版本.FileZill ...
- Ubuntu下git的安装与使用
Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...
- Ubuntu下Speedtest的安装
要安装Speedtest,需要先安装apache,参见<Ubuntu下Apache的安装>一文:*(再安装LAMP server,参见<Ubuntu下快速安装LAMP server& ...
- Ubuntu下Apache的安装
Ubuntu下可快速安装LAMP server(Apache+MySQL+PHP5),参见<Ubuntu下快速安装LAMP server>一文. 也可以手动安装Apache.本文介绍如何手 ...
- WIN7 下 Qt Creator 安装 QWT
WIN7 下 Qt Creator 安装 QWT 环境:WIN7 +QT Creator2.6.2 1.下载QWT源代码 qwt-6.1-rc3.zip 2 编译QWT open projects- ...
随机推荐
- C Primer Plus 第6版 第五章 编程练习参考答案
编译环境VS Code+WSL GCC 源码在文末下载 /*第1题*************************/ #include<stdio.h> #define MIN_TO_H ...
- AI 与 Mermaid 使用教程之流程图 - 从入门到精通
本文由 Mermaid中文文档 整理而来,并且它同时提供了一个 Mermaid在线编辑器,支持在线编辑与生成流程图. 在文章的末尾我们将介绍如何使用AI来自动生成 Mermaid 流程图. Merma ...
- ids4-startup
https://stackoverflow.com/questions/28418360/jwt-json-web-token-audience-aud-versus-client-id-whats- ...
- WPF设置默认语言地区CultureInfo
public partial class App : Application { public App() { CultureInfo cultureInfo = new CultureInfo(&q ...
- w3cschool-Netty 实战精髓篇3
https://www.w3cschool.cn/essential_netty_in_action/essential_netty_in_action-wd1j28dq.html Netty Web ...
- WebSocket详解:技术原理、代码演示和应用案例
1.内容简介 本文将简要介绍 WebSocket 的由来.原理机制以及服务端/客户端实现,并以实际客户案例指导并讲解了如何使用 WebSocket 解决实时响应及服务端消息推送方面的问题.本文适用于熟 ...
- dicom 在生成dcm文件的时候会出现乱码的处理方法
using Dicom.IO; using System; using System.Collections.Generic; using System.Linq; using System.Text ...
- Superset 用户集成完整方案(iframe方式)
本次集成方案经过个人测试,根据前面2个集成方案的资料,撰写,相关说明由于个人知识水平有限不一定理解准确,有错误的地方环境评论区评论: 1.用户集成方式: A系统用户,通过A的某个界面,iframe嵌入 ...
- C++:typedef 与 #define 的区别
1.执行上不同 关键字 typedef 在编译阶段有效,由于是在编译阶段,因此 typedef 有类型检查的功能. #define 则是宏定义,发生在预处理阶段,也就是编译之前,它只进行简单而机械的字 ...
- ABC243
ABC224 D 题目大意 有一个九个点的无向图棋盘,上面有八个棋子,一次操作能将一个棋子沿边移到空点上,问将每个棋子移到与它编号相同的点最少几步. 解题思路 考虑使用 BFS. 用 string 存 ...