QT开发学习-第三章-GUI原理分析

本文详细解析了QT-GUI的工作原理,从命令行程序与GUI程序的对比,深入探讨GUI程序的消息处理模型。同时,阐述了QT作为面向对象的GUI组件库,如何封装操作系统细节并提供跨平台的开发支持。通过实例展示了QT的简单应用,包括源码、QT开发环境的命令行编译与QTCreator IDE的调试方法。
摘要由CSDN通过智能技术生成

第一章讲解了QT简介,介绍了关于QT的大概构成。
链接:QT开发学习-第一章-QT简介
第二章讲解了关于QT开发的相关环境搭建。
链接:QT开发学习-第二章-QT开发环境搭建
本文继续介绍QT开发的第三章,主要讲解了QT-GUI原理分析。
感兴趣的小伙伴记得三连哦!
今日分享:“尽管眼下有困难,但日后一定会开花结果!”


在这里插入图片描述


一、命令行程序

  1. 命令行程序是面向过程的程序设计。

  2. 命令行程序的特点:

     A、基于顺序结构执行
     B、程序执行过程中不需与用户交互
     C、程序执行结束给出最终运行结果
    
  3. 命令行程序适用场合:

    A、单任务场合
    B、无交互、简单交互场合
    C、服务器应用场合


二、GUI程序

  1. GUI程序的特点:

     A、基于消息驱动模型的程序
     B、程序执行依赖用户交互过程
     C、程序执行过程中实时响应用户操作
     D、一般程序执行后不会主动退出
    
  2. GUI程序适用场合:

     A、多任务场合
     B、强用户交互场合
     C、非专业计算机用户
    
  3. GUI程序运行模式:在这里插入图片描述

  4. GUI程序消息处理模型:
    在这里插入图片描述


三、GUI程序开发原理

  • 现代操作系统都支持GUI程序开发,特点如下:

     A、操作系统提供原生SDK支持GUI程序开发
     B、GUI程序开发是现代操作系统的主流技术
     C、不同操作系统上的GUI开发原理相同
     D、不同操作系统上的GUI SDK不同
    
  • GUI程序开发原理:

    A、GUI程序在运行时会创建一个消息队列
    B、系统内核将用户操作翻译为对应的程序消息
    C、程序在运行过程中需要实时处理消息队列中的消息
    D、当队列中没有消息时,程序将处于停滞状态
    
  • GUI程序开发过程:

    A、创建窗口、窗口元素GUI界面
    B、在消息处理函数中根据程序消息做出不同相应
    

四、QT的本质

4.1. 面向对象的GUI程序设计

操作系统提供了创建界面元素所需要的函数,依次调用不同功能的函数就可以创建出界面元素,但操作系统提供的原生函数无法直接映射到界面元素。根据面向对象程序设计思想,将界面元素抽象为类,GUI界面的创建过程就是组合不同界面元素对象的过程。

4.2. QT的本质

QT是利用面向对象程序设计思想开发的一套GUI组件库,QT将不同操作系统的GUI细节封装于类内部,并提供了一套跨平台的类用于GUI程序开发。

QT遵循经典的GUI程序开发模式。


五、QT实例

5.1. 实例源码

#include <QApplication>
#include <QMainWindow>
#include <QPushButton>

int main(int argc, char* argv[])
{
  	QApplication a(argc, argv);
  	QMainWindow w;
  	QPushButton b(&w);
  	b.setText("Hello QT!");
  	w.show();
  	
  	return a.exec();
}

5.2. QT开发环境命令行编译

  • A、进入QT开发环境命令行
    在这里插入图片描述
    点击QT 4.7.4 Command Prompt进入QT开发环境命令行环境。

  • B、进入源程序所在目录

  • C、根据源码生成工程文件

qmake -project         //生成过程文件 xxxxx.pro
  • D、根据工程文件生成Makefile文件

qmake

生成Makefile、Makefile.Debug、Makefile.Release文件和release、debug目录

  • E、编译

make 编译生成可执行文件xxx.exe


5.3. QT IDE开发环境

QT Creator是QT的可视化集成开发环境。

QT Creator环境的调试方法:

  • A、log调试法

在代码中加入一定打印语句,打印出程序状态和关键变量的值

Log打印需要添加#include <QDebug>
qDebug() << "hello";

  • B、断点调试法

      在QT Creator开发环境打开工程后,可以在相应代码行设置断点,
      当程序运行到断点行时会暂停运行,设置条件断点时,
      当满足条件时,程序才暂停运行。
    

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值