个人技术分享

文章目录

前言

一、简单介绍QT

二、安装QT Creator

三、第一个QT项目

四、Win下发布QT程序

五、常用快捷键

六、QT中的编程规范


前言

在嵌入式Linux应用层开发时,经常使用QT作为图形化界面显示工具。为学习Linux下的QT编程,在Ubuntu和开发板中搭建QT开发环境,并记录学习中的知识点与代码。本篇基于Ubuntu 18.04和QT 5.12.9,参考教程视频:【正点原子】Qt教程。若存在版权问题,请联系作者删除!


一、简单介绍QT

1. QT简介

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界面。如下图,可以拖动左边的控件到中间的界面上,同时在右边属性栏设置坐标、字体大小和颜色等属性。


四、Win下发布QT程序

本章讲解在Windows环境下打包发布QT程序,执行步骤如下:

【1】QT中切换到release模式,然后编译。

【2】找到release模式构建的文件夹。

【3】改程序图标:

  • 图标格式必须为.ico
  • 将图标拷贝至源代码目录下,而不是调试生成的目录!
  • 在.pro文件最后加上"RC_ICONS=图标文件名.ico"

【4】封包操作:

  • 在Windows桌面新建文件夹(路径中不能有中文),用于存放最终的程序。
  • 将release文件夹中的.exe文件拷贝至新建的文件夹。
  • 调出QT的控制台,输入"cd /d 新建文件夹目录路径"
  • 输入"windeployqt  可执行文件名.exe"

五、常用快捷键

【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