• QT基础入门——认识与创建QT(一)


    前言:

    前面学了Linux的基础命令、系统编程、网络编程,对LInux的使用也有了一个简单的了解与认识,之后的学习就要用到   imx6ull_pro这款开发板进行学习了,所以在使用前还是决定把QT的基础知识学习一下,好在后面的linux图形界面更好上手,下面就先让我们对QT有个具体的认识与了解吧

    目录

    一、QT的概述:

    1.什么是QT:

    2.支持的平台:

    3.QT版本:

    4.QT安装:

    5.QT的优点:

    二、QT项目的创建

    ​编辑

     三、项目介绍

    1. .pro文件

    2.头文件: 

    3.main.cpp

    4.mywidget.cpp


    一、QT的概述:

    1.什么是QT:

            Qt是一个跨平台的C++图形用户界面应用程序框架。它为应用程序开发老提供建立艺术级图形界面所需的所有功能。它是完全面向对象的,很容易扩展,并且允许真正的组件编程。

    2.支持的平台:


    Windows   -   XP、Vista、Win7、Win8、Win2008、 win10
    Uinux/X11  -   Linux.Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX、FreeBSD、BSD/0s、和其他很多X11平台心
    Macintosh  -   Mac OS X
    Embedded   -  有帧缓冲支持的嵌入式Linux 平台,Windows CE

    3.QT版本:


    Q按照不同的版本发行,分为商业版开源版

    商业版:

             为商业软件提供开发,他们提供传统商业软件发行版,并且提供在商业有效期内的免费升级和技术支持服务。


    开源的LGPL版本:

              为了开发自有而设计的开放源码软件,它提供了和商业版本同样的功能,在GNU通用公共许可下,它是免费的。

    4.QT安装:

            为了实现QT在安卓机上环境的使用,必须使用该文件夹下提供的QT版本以及NDK,SDK,JDK,并且qt的项目路径中不允许出现中文和空格。

            在QT的安装过程中,安装路径任意,需要安装Android环境,需要勾选Android x86,Android ARMv7,MinGW

    5.QT的优点:
     

    (1).跨平台,几乎支持所有的平台

    (2).接口简单,容易上手,学习QT框袈对学习其他框袈有参考意义。

    (3).一定程度上简化了内存回收机制

     (4).开发效率高,能够快速的构建应用程序。

     (5).有很好的社区氛围,市场份额在缓慢上升。

     (6).可以进行嵌入式开发。·
     

    二、QT项目的创建

     

     

     三、项目介绍

    1. .pro文件

    1. QT += core gui //QT包含的模块 core gui
    2. greaterThan(QT_MAJOR_VERSION, 4): QT += widgets //大于4版本以上 包含widget模块
    3. CONFIG += c++11
    4. # The following define makes your compiler emit warnings if you use
    5. # any Qt feature that has been marked deprecated (the exact warnings
    6. # depend on your compiler). Please consult the documentation of the
    7. # deprecated API in order to know how to port your code away from it.
    8. DEFINES += QT_DEPRECATED_WARNINGS
    9. # You can also make your code fail to compile if it uses deprecated APIs.
    10. # In order to do so, uncomment the following line.
    11. # You can also select to disable deprecated APIs only up to a certain version of Qt.
    12. #DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000 # disables all the APIs deprecated before Qt 6.0.0
    13. SOURCES += \
    14. main.cpp \ //源文件
    15. mywidget.cpp
    16. HEADERS += \
    17. mywidget.h //头文件

    2.头文件: 

    1. #ifndef MYWIDGET_H
    2. #define MYWIDGET_H
    3. #include //包含头文件,QWidget窗口类
    4. class myWidget : public QWidget
    5. {
    6. Q_OBJECT // Q_OBJECT宏,允许类中使用信号和槽的机制
    7. public:
    8. myWidget(QWidget *parent = nullptr); //构造函数
    9. ~myWidget();
    10. };
    11. #endif // MYWIDGET_H

    3.main.cpp

    1. #include "mywidget.h"
    2. #include //包含一个应用程序类的头文件
    3. //main程序入口 argc命令行变量的数量 argv命令行变量的数组
    4. int main(int argc, char *argv[])
    5. {
    6. //a应用程序对象,在QT中,应用程序对象有且只有一个
    7. QApplication a(argc, argv);
    8. //窗口对象 myWidget父类 -》 QWidget
    9. myWidget w;
    10. //窗口对象,默认不会显示,必须要调用show方法显示窗口
    11. w.show();
    12. //让应用程序对象进入消息循环
    13. return a.exec();
    14. }

    4.mywidget.cpp


         命名规范
         类名    首字母大写,单词与单词之间首字母大写
         函数名  变量名称 首字母小写,单词与单词之间首字母大写
         快捷键    
          注释                                   ctrl + /
          运行                                   ctrl + r
          编译                                   ctrl + b
          字体缩放                            ctrl + 鼠标滚轮
          查找                                   ctrl + f   
          整行移动                            ctrl + shift + ↑ 或者 ↓
          帮助文档                             F1  或者  左侧按钮 
          自动对齐                             ctrl + i
          同名之间的.h和.cpp切换     F4

    1. #include "mywidget.h"
    2. //命名规范
    3. //类名 首字母大写,单词与单词之间首字母大写
    4. //函数名 变量名称 首字母小写,单词与单词之间首字母大写
    5. //快捷键
    6. // 注释 ctrl + /
    7. // 运行 ctrl + r
    8. // 编译 ctrl + b
    9. // 字体缩放 ctrl + 鼠标滚轮
    10. // 查找 ctrl + f
    11. // 整行移动 ctrl + shift + ↑ 或者 ↓
    12. // 帮助文档 F1 或者 左侧按钮
    13. // 自动对齐 ctrl + i
    14. // 同名之间的.h和.cpp切换 F4
    15. myWidget::myWidget(QWidget *parent)
    16. : QWidget(parent)
    17. {
    18. }
    19. myWidget::~myWidget()
    20. {
    21. }


     

  • 相关阅读:
    详细设计结构化程序和人机界面设计
    Vue实现拖拽穿梭框功能四种方式
    嘉泰实业:真实低门槛,安全有保障
    计算机网络基础(一):网络系统概述、OSI七层模型、TCP/IP协议及数据传输
    FAT32文件系统---第2章 FAT解析
    致敬最美逆行者网页设计作品 大学生抗疫感动专题网页设计作业模板 疫情感动人物静态HTML网页模板下载
    ZigBee 3.0理论教程-通用-1-06:协议架构-应用层(APP)
    【uni-app从入门到实战】下拉刷新、上拉加载
    1.并发编程的本质问题
    运行时数据区之虚拟机栈
  • 原文地址:https://blog.csdn.net/m0_63168877/article/details/133251357