文章目录
前言
一、简单介绍QT
二、安装QT Creator
三、第一个QT项目
四、常用快捷键
五、QT中的编程规范
前言
在嵌入式Linux应用层开发时,经常使用QT作为图形化界面显示工具。为学习Linux下的QT编程,在Ubuntu和开发板中搭建QT开发环境,并记录学习中的知识点与代码。本篇基于Ubuntu 18.04和QT 5.12.9,参考教程视频:【正点原子】Qt教程。若存在版权问题,请联系作者删除!
一、简单介绍QT
1. QT简介
- QT是一个跨平台的C++开发库,主要用于开发图形用户界面(GUI)。
- QT官网:https://www.qt.io/
- QT下载网址:http://download.qt.io/archive/qt/
- QT5新功能介绍:https://doc.qt.io/qt-5/qt5-intro.html
2. QT历史
- 起源:Haavard Nord和Eirik Chambe-Eng于1991年开始开发Qt
- 公司:1994年创立公司,最早名为Quasar Technologies,然后更名为TrollTech,再改为Trolltech,中文名为“奇趣科技”。
- 版本:2020年发布Qt6。
二、安装QT Creator
1. QT Creator:是QT开发的集成开发环境(IDE)。
2. Windows安装QT Creator:跟随视频教程windows下安装QT Creator。
3. Ubuntu安装QT Creator:考虑磁盘空间有限,只在Ubuntu中安装了QT。
①打开Ubuntu终端,使用wget命令下载QT 5.12.9的qt-opensource-linux-x64-5.12.9.run
wget https://download.qt.io/archive/qt/5.12/5.12.9/qt-opensource-linux-x64-5.12.9.run
②添加可执行权限:
chmod +x qt-opensource-linux-x64-5.12.9.run
③使用sudo安装,这样会安装在/opt 目录下:
sudo ./qt-opensource-linux-x64-5.12.9.run
④点击Ubuntu右上角,turn off网络再安装,可以跳过QT账号信息。
⑤安装时选择常用的组件即可,否则会占用大量空间,如下图所示。
⑥点击Ubuntu左下角,双击QT Creator打开,如下图所示。
4. 配置QT Creator配置中文:Ubuntu下配置Qt Creator输入中文。
5. Ubuntu中C++环境配置:
①前置说明:若在QT Creator新建c++工程后,无法正常编译,就是缺少相关指令,需要安装g++和相关库。
②安装指令:
sudo apt-get install gcc g++ sudo apt-get install lsb-core lib32stdc++6
③测试结果:
三、第一个QT项目
1. 新建项目:
- 可以参考正点原子的文档。
- 具体流程:点击"文件"--->"Application (Qt)"和"Qt Widgets Application"--->设置项目名称和地址--->选择"qmake"--->选择基类"QMainWindow"或"QWidget"(前者有标题和状态栏,后者是单个界面)--->一直下一步即可。
- Cannot find -lgL报错解决:在终端输入如下指令:
-
sudo apt-get install libglu1-mesa-dev
2. 项目文件介绍:
3. 程序启动流程:
在创建一个项目,自定义窗口类为MyWindow后,QT会生成main.cpp、mywindow.cpp、mywindow.h、mywindow.ui文件,解下来我们逐一分析。
①main.cpp:
#include "mywindow.h" #include <QApplication> //main函数是程序入口 //argc是命令行参数个数,argv保存参数 int main(int argc, char *argv[]) { //QApplication a(argc, argv):管理QT程序运行并设置QT应用程序,针对QWidget //QGuiApplication a(argc, argv):管理QT程序运行并设置QT应用程序,针对非QWidget //QCoreApplication a(argc, argv):管理QT程序运行并设置QT应用程序,针对无界面程序 QApplication a(argc, argv); MyWindow w; //实例化的对象 w.show(); //显示图形化窗口 //事件循环,底层调用QEventLoop::exec(),等待鼠标或键盘输入 return a.exec(); }
②mywindow.h:
#ifndef MYWINDOW_H #define MYWINDOW_H #include <QMainWindow> QT_BEGIN_NAMESPACE namespace Ui { class MyWindow; } QT_END_NAMESPACE //自定义的MyWindow继承了QMainWindow类 class MyWindow : public QMainWindow { //宏定义:涉及QT信号槽 Q_OBJECT public: MyWindow(QWidget *parent = nullptr);//构造函数 ~MyWindow();//析构函数 private: Ui::MyWindow *ui;//成员变量:绑定图形化窗口 }; #endif // MYWINDOW_H
③mywindow.cpp:
#include "mywindow.h" #include "ui_mywindow.h" //MyWindow构造函数的具体实现 MyWindow::MyWindow(QWidget *parent) : QMainWindow(parent) , ui(new Ui::MyWindow) { ui->setupUi(this); } //MyWindow析构函数的具体实现 MyWindow::~MyWindow() { delete ui; }
④mywindow.ui:用于ui设计,可以创建精美的ui界面。如下图,可以拖动左边的控件到中间的界面上,同时在右边属性栏设置坐标、字体大小和颜色等属性。
四、常用快捷键
【1】新建项目:Ctrl+N
【2】自动对齐代码:Ctrl+I
【3】移动代码至上一行/下一行:Ctrl+Shift+UP/Ctrl+Shift+DOWN
【4】跳转到上一行/下一行:Ctrl+Shift+Enter/Ctrl+Enter
【5】切换头文件和源文件:F4
【6】查看某个类的父类和子类:Ctrl+Shift+T
五、QT中的编程规范
- 文件名:全小写
- 类名:大驼峰XxxYyyZzz
- 函数名:小驼峰xxxYyyZzz
- 变量名:小驼峰xxxYyyZzz