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文件

QT       += core gui    //QT包含的模块    core   gui


greaterThan(QT_MAJOR_VERSION, 4): QT += widgets    //大于4版本以上  包含widget模块

CONFIG += c++11    

# The following define makes your compiler emit warnings if you use
# any Qt feature that has been marked deprecated (the exact warnings
# depend on your compiler). Please consult the documentation of the
# deprecated API in order to know how to port your code away from it.
DEFINES += QT_DEPRECATED_WARNINGS

# You can also make your code fail to compile if it uses deprecated APIs.
# In order to do so, uncomment the following line.
# You can also select to disable deprecated APIs only up to a certain version of Qt.
#DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0x060000    # disables all the APIs deprecated before Qt 6.0.0

SOURCES += \
    main.cpp \        //源文件
    mywidget.cpp

HEADERS += \
    mywidget.h        //头文件

2.头文件: 

#ifndef MYWIDGET_H
#define MYWIDGET_H

#include <QWidget>    //包含头文件,QWidget窗口类

class myWidget : public QWidget    
{
    Q_OBJECT        // Q_OBJECT宏,允许类中使用信号和槽的机制

public:
    myWidget(QWidget *parent = nullptr);        //构造函数
    ~myWidget();        
};
#endif // MYWIDGET_H

3.main.cpp

#include "mywidget.h"

#include <QApplication> //包含一个应用程序类的头文件

//main程序入口     argc命令行变量的数量     argv命令行变量的数组
int main(int argc, char *argv[])
{
    //a应用程序对象,在QT中,应用程序对象有且只有一个
    QApplication a(argc, argv);
    //窗口对象   myWidget父类   -》 QWidget
    myWidget w;
    //窗口对象,默认不会显示,必须要调用show方法显示窗口
    w.show();

    //让应用程序对象进入消息循环
    return a.exec();
}

4.mywidget.cpp


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

#include "mywidget.h"

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

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
}

myWidget::~myWidget()
{
}


 文章来源地址https://www.uudwc.com/A/4rnmy/

原文地址:https://blog.csdn.net/m0_63168877/article/details/133251357

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

上一篇 2023年10月11日 04:48
Word | 简单可操作的快捷公式编号、右对齐和引用方法
下一篇 2023年10月11日 05:48