zoukankan      html  css  js  c++  java
  • 1.QT-第一个程序 Hello QT , 以及QT creator介绍

    第一个程序 - Hello QT

    首先写main.cpp:

    #include <QApplication>
    #include <QMainWindow>
    #include <QPushButton>
    
    int main(int argc, char* argv[])
    {
      QApplication a(argc, argv);    // Qapplication表示一个应用程序,而它的成员函数exec()则用来执行程序以及消息处理
      QMainWindow w; //定义一个QmainWindow主窗口对象w   QPushButton b(&w); //通过&w,在主窗口上定义QpushButton按钮对象b
      b.setText("Hello QT!"); //通过b对象的成员函数setText(),设置按钮名字为Hello QT   w.show(); //显示主窗口
      return a.exec(); //通过exec()执行程序以及消息处理 }

    win平台上,命令行编译

    进入main.cpp所在目录“1.Hello QT”,输入:

    qmake   -project                              //通过-project参数,将源码生成(*.pro)工程文件
    qmake                                         //根据工程文件生成makefile
    make                                          //根据makefile进行编译,生成debug文件夹

    接下来,进入debug文件,运行1.exe:

     

    如果想删除配置:

    make clean                                       //删除配置文件,如果想再次编译,只需要make即可
    make distclean                                  //删除配置文件以及make,如果想再次编译,可以通过qmake和make

    linux平台上,命令行编译

    同样输入:

    qmake   -project                                   //通过-project参数,将源码生成(*.pro)工程文件
    qmake                                              //根据工程文件生成makefile
    make                                               //根据makefile进行编译,生成可执行文件

    运行:

     

    3.使用Qt creator编译

    注意:构建项目时,如果出现以下问题,则可能环境变量未设置好,或者环境变量的qt路径前面有 “(” 或 “)” 字符,从而导致:Interrupt/Exception caught code = 0xc00000fd

     

    调试

    调试分为两种

    打印调试

    头文件 #include <QDebug>

    比如打印5,代码里输入:

    qDebug()<<5;

    断点调试

    除了设置普通断点外,还可以设置条件断点(指程序满足条件,将会暂停)

    如下图所示,在第17行处设断点:

     

    然后设置17行处的断点的条件为i==3:

    开始调试

    从打印处可以看到,代码运行到i=3时便暂停了:

     

     

    QT creator介绍

    构建(bulid)

    对项目中所有文件进行编译,最终生成可执行程序

    Debug

    用来进行调试的版本,程序中会包含调试信息,所以运行效率低

    Release

    最终发布的版本,无调试信息,运行效率高

     

     

    QT Creator工程介绍

     

    .pro项目描述文件

    其本质就是一个简化的Makefile,通过不同平台的qmake生成不同平台的Makefile,如下图所示:

     

     

    .pro项目描述文件介绍

    基本构成如下图所示:

     

    高级变量如下图所示:

    其中CONFIG的常用选项有:

    • debug  :  构建debug版本的可执行程序
    • release : 构建release版本的可执行程序
    • debug_and_release  :  同时构建debug和release版本
    • wran_on  :  尽可能多的输出警告信息
    • wran_off  :  不输出警告信息

     

    通过上面的学习,我们就能看懂下面的.pro项目描述文件了:

    QT += core gui                      #添加core和gui模块(QT不仅只涉及显示模块,还有数据库,多线程,网络等等)
    
    greaterThan(QT_MAJOR_VERSION, 4): QT += widgets  #如果当前版本大于4.0,则需要widgets模块
    
    TARGET = HelloWorld            #以win平台为例,生成的程序为:HelloWorld.exe
    
    TEMPLATE = app                 #声明编译出来的是app程序,而不是库文件
    
    INCLUDEPATH += E:/BCC/include         #指定头文件路径
                   E:/VC/include
    
    SOURCES += Main.cpp                  #源文件
               HelloWorld.cpp
    
    HEADERS += HelloWorld.h              #头文件名
    
    FORMS   += HelloWorld.ui              #指定界面描述文件
    
    RC_FILE += MyIco.rc                #指定资源文件,比如图片
    
    LIBS    += -LE:/vlc-1.11/sdk/lib           #指定外部库
    
    CONFIG  += warn_on debug                   #构建debug版本,并输出警告信息
    
    #
    # if 'debug' option is set for CONFIG
    #
    CONFIG(debug) {                               #如果CONFIG有debug选项
        DEFINES += DEBUG_LOG                      #则定义: #define DEBUG_LOG
        SOURCES += DebugLog.cpp                   #并添加debug相关文件
        HEADERS += DebugLog.h
    }

    注意:

    • QT Creator生成的.pro.user文件,包含的是与平台相关的配置信息,与我们无关,不需要修改该文件
    • 移植项目时需要删除.pro.user这个文件,需要时,再由QT Creator自动生成即可.3
    • QT MingGW版本可以在GNU/LinuxWindows平台生成本地的Windows程序而不需要第三方运行时库。

     

    接下来,下章继续学习 :  2.QT-窗口组件(QWidget),QT坐标系统,初探消息处理(信号与槽)

     

  • 相关阅读:
    js----定义变量的几种方式
    Vue----项目增加百度统计
    Vuex----核心概念和API
    Vuex----理解
    回到学校,国庆收假的第一天
    再次回到武汉
    收获的季节,最忙其实也是最没有收获的时光
    虚无缥缈的自信,一落千丈的打击
    愤怒、愤怒,终于适应了奔波
    总是骗人的你
  • 原文地址:https://www.cnblogs.com/lifexy/p/8859062.html
Copyright © 2011-2022 走看看