QT——GUI程序原理分析、Hello QT、调试的基本方法

1.命令行应用程序的特点

  • 是一种基于顺序执行结果的可执行程序
  • 程序执行过程中不需要与用户产生交互
  • 程序执行后给出最终的运行结果
  • 程序的运行有固定的开始和固定的结束

2.图形界面应用程序(GUI)的特点

  • 是一种基于消息驱动模型的可执行程序
  • 程序的执行依赖于用户的交互过程
  • 程序执行过程中实时响应用户操作
  • 一般情况下程序执行后不会主动退出

3.GUI开发非常适合采用面向对象方法学

  • 将界面元素定义为对应的类
  • 通过抽象和封装可以隐藏界面元素的细节
  • 程序的创建过程就是组合不同界面元素对象的过程

4.Hello QT

复制代码
#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()执行程序以及消息处理
}

如果引用的库报错,则将鼠标放在引用的库上,点击F1,将圈住的代码加到.pro文件中------QT += widgets

  1. 调试的基本方法

(1)Log调试法

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

(2)断点调试法

  • 在开发环境中的对应代码行加上断点
  • 当程序运行到断点行时,程序暂停运行
  • 头文件**#include <QDebug>**
复制代码
#include <QApplication>
#include <QMainWindow>
#include <QPushButton>
#include <QDebug>

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

    for(int i=0; i<10; i++)
    {
        qDebug()<<i; //将i的值输出到控制台
    }

    w.show();                      //显示主窗口

    return a.exec();               //通过exec()执行程序以及消息处理
}

运行结果:

设置断点:

相关推荐
এ慕ོ冬℘゜18 分钟前
深入理解 JavaScript 事件对象:从 target 到 preventDefault 的实战指南
开发语言·前端·javascript
学逆向的23 分钟前
汇编——修改EIP的值
开发语言·汇编·网络安全
weixin_4223293124 分钟前
AgentScope Java ReActAgent 核心循环深度解析
java·开发语言·人工智能
weilaieqi137 分钟前
行业前列!CASAMANIA HORM富森美高端意式沙发标杆
开发语言
小二·1 小时前
WebGPU 浏览器端跑大模型:让AI在网页里跑起来(WebLLM/Transformers.js实战)
开发语言·javascript·人工智能
小猴子爱上树1 小时前
Temu批量视频翻译Python实现方案
开发语言·python·音视频
IDIOSF1 小时前
R语言 下载安装教程(附安装包)R语言4.5安装步骤(保姆级)
开发语言·其他·r语言
乱七八糟的屋子1 小时前
LibYAML超全教程-C语言YAML解析与生成
c语言·开发语言·配置文件·yaml解析·libyaml·开源库实战
paopaokaka_luck1 小时前
基于Springboot3+Vue3的宠物殡葬管理系统(webSocket实时通讯、接入腾讯地图、支付宝沙盒支付、Echarts图形化分析)
java·开发语言·网络·后端
逝水无殇2 小时前
HTML 元素详解
开发语言·前端·html