一、下载与安装QT
下载QT
2023-9-19修改了链接,发现5.9.X被废弃了,其他版本,自己需要什么版本从官网的这个链接找即可
选择qt-opensource-linux-x64-5.9.9.run,如果是Chrome点击以后没有反应建议换个浏览器尝试,比如Firefox
下载完毕开始安装
先使用命令改变qt安装包的权限,以便于后续操作
chmod +x qt-opensource-linux-x64-5.9.9.run
或者
chmod u+x qt-opensource-linux-x64-5.9.9.run
两者都可
这里可以登陆以下
安装路径我选择了/usr/local/qtcreator,安装路径需要记清楚,后续还要使用。
关于安装的组件,目前选这些就够了,如果需要修改,可以运行MaintenanceTool修改。
点击Install开始安装(这里我安装5.9.0时候总会异常中断,于是果断转战5.9.9了)
二、配置QT
2.1安装前序组件以及环境
依次运行三条命令分别安装g++,通用字体配置库,qtchooser工具
sudo apt-get install g++
sudo apt-get install libfontconfig1
sudo apt-get install qtchooser
在终端依次运行下面三条命令,选择QT版本和qmake路径
qtchooser -install qt5.9.9 /usr/local/qtcreator/5.9.9/gcc_64/bin/qmake
export QT_SELECT=qt5.9.9
qtchooser -l
应该有以下结果。
安装完毕g++以后运行g++ --version,如果没有提示以下信息,就是安装没成功或者找不到g++。
解决找不到g++命令错误
sudo apt-get install build-essential
安装OpenGL
sudo apt-get install mesa-common-dev
如果是最新版本三Ubuntu,需安装附加组件
sudo apt-get install libblul-mesa-dev -y
2.2配置QT的路径,这和JDK配置是类似的
正如标题,先运行~$ cd ~
命令返回到个人目录,再运行
vim .bashrc
配置QT的路径,这里能看到我的JDK和QT路径都有标题对应,这方便和以后的操作,防患于未然。
这里的QTDIR,选择当初选择的安装路径,bin的路径是QT根目录里的,再下面两条应当与我一致。
# set qt
export QTDIR=/usr/local/qtcreator
export PATH=$QTDIR/5.9.9/gcc_64/bin:$PATH
export MANPATH=$QTDIR/man:$MANPATH
export LD_LIBRARY_PATH=$QTDIR/lib:$LD_LIBRARY_PATH
到这里结束,重启电脑,运行下述命令验证是否配置和安装成功。
qmake -v
出现QMake version 3.1即为安装成功。
三、卸载QT
进入QT的安装目录,运行MaintenanceTool
弹出Maintain窗口,一路next到下图界面,重新安装组件或者卸载都可以。
四、QT的第一个程序经典helloworld
双击打开QT,new file or project
选择存放路径
Build System选择qmake
后面一直next就好
项目初始化完毕,可以编写了。
左下角的后三个图表分别是Run,Debug,Build,没有什么问题直接Run就好了。
如图,Helloworld成功!
附上Helloworld源码:
#include "mainwindow.h"
#include <QApplication>
#include<QLabel>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLabel label("hello world!");
label.show();
return a.exec();
}
但是不太完美,既然Linux就要很帅很炫酷。又想到也许会有找不到QT的情况,或者去终端或者文件夹一层一层找很麻烦。
编写个Shell脚本,直接输入qt creator就可以运行QT。
#!/bin/sh
export QT_HOME=/usr/local/qtcreator/Tools/QtCreator/bin
$QT_HOME/qtcreator $*
QT_HOME要根据自己安装QT的目录编写,如我的路径是下图这样。
… …
如果觉得有用,可否打赏笔者一根苦咖啡雪糕
PS: 排版不好看请见谅,笔者不太会用CSDN的五颜六色,如有内容错误,敬请指正;如有疑问,可私聊解惑。