admin管理员组

文章数量:1794759

Linux下的QT安装及初步使用过程(一)

Linux下的QT安装及初步使用过程(一)

目录

1.QT的安装

2.创建第一个QT程序

(1)QT代码(C++)

(2)使用qmake工具生成工程文件

①确保qmake是可用的

②如果不能找到qmake,则以下方式参考

③使用qmake生成工程文件

④生成Makefile文件

⑤编译运行

3.QT程序的基本结构

(1)头文件部分

(2)main函数部分

(3)对象部分

(4)显示窗口

(5)将控制权转交给QT


Linux下编写C使用的GDB调试器

Ubuntu中关于C介绍以及编写C程序

Ubuntu换源教程

Linux中的Make工程管理

Linux中关于使用make管理工具的实例

Linux下的Makefile规则(隐式规则和模式规则)

1.QT的安装

Linux下安装QT

Ubuntu下安装Qt5.13 +终端命令启动

2.创建第一个QT程序 (1)QT代码(C++)

新建.cpp文件:sudo touch demo.cpp

编辑demo.cpp文件:sudo gedit demo.cpp

#include<qapplication.h> #include<qlabel.h> int main(int argc,char*argv[]){ QApplication app(argc,argv); QLabel*label=new QLabel("The world is beautiful!",0); label->show(); return app.exec(); } (2)使用qmake工具生成工程文件 ①确保qmake是可用的

输入:qmake -v

如果报下面的错,则继续从②的提示操作:

qmake:could not exec '/usr/lib/x86_64-linux-gnu/...:no such file or directory

②如果不能找到qmake,则以下方式参考

第一步:从之前下载的QT文件位置找到qmake:

比如我的路径:/home/用户名/Documents/QT/5.12.9/gcc_64/bin

第二步:sudo gedit /usr/lib/x86_64-linux-gnu/qt-default/qtchooser/default.conf 

提示:将打开的配置文件中添加qmake的路径。

③使用qmake生成工程文件

qmake -project

④生成Makefile文件

⑤编译运行

 这一步可能会报错

解决方案:

# 查找 libGL 所在位置 locate libGL

输入:sudo ln -s /usr/lib/x86_64-linux-gnu/libGLU.so.1 /usr/lib/libGL.so

还能报一个关于QT版本的错误:

此错误是由于从Qt版本5开始,所有native GUI功能都已从core模块移至单独的模块,即widgets模块。应该向qmake声明应用程序依赖于该模块。

参考博文:Qt5.x解决报错main.cpp:1:10: fatal error: QApplication: No such file or directory问题 

现在应该没有什么错误了:

 sudo ./QTWorkSpace

3.QT程序的基本结构 (1)头文件部分
  • #include<qapplication.h>:该头文件包含了QApplication类的定义,在每一个使用QT的应用程序中都必须使用的QApplication对象,其中QApplication管理了各种各样的应用程序的广泛资源,如默认的字体和光标。
  • #include<qlabel.h>:包含了Qlabel类的定义,也就是在使用的过程中根据实际的需要使用哪个类的定义。其中ALbel主要用来显示一个文本。
(2)main函数部分

int main(int argc,char*argv[]){

}

提示:main函数是程序的入口,main函数只需要在把控制转交给QT库之前执行一些初始化,然后QT库通过事件来向程序告知用户的行为。

其中

  • argc:表示命令行的变量数量;
  • argv:表示命令行变量的数组。
(3)对象部分

  QApplication app(argc,argv);   QLabel*label=new QLabel("The world is beautiful!",0);

其中app表示这个程序的QApplication,被创建并处理这些命令行变量。

在QApplication之后的是Alabel被创建,用来显示文本,并且自己本身也是一个窗口,主要是因为在构造函数指定Object为它的父窗口,在这个父窗口中标签被定位。

(4)显示窗口

label->show();(必须通过show来显示窗口)

(5)将控制权转交给QT

return app.exec();

并且当应用程序退出的时候exec就会返回。

在exec当中,QT接收并处理用户和系统的事件并且把它们传递给适当的窗口部件。

本文标签: 过程LinuxQT