斗破QT编程入门系列之四:GUI应用程序设计基础:UI文件设计原理与运行机制(五星斗师)

斗破Qt目录:

斗破Qt编程入门系列之前言:认识Qt:Qt的获取与安装(四星斗师)
斗破QT编程入门系列之一:认识Qt:初步使用(四星斗师)
斗破QT编程入门系列之二:认识Qt:编写一个HelloWorld程序(四星斗师)
斗破QT编程入门系列之三:GUI应用程序设计基础:UI文件(四星斗师)
斗破QT编程入门系列之四:GUI应用程序设计基础:UI文件设计原理与运行机制(五星斗师)

参考书籍

《Qt5.9 C++开发指南》

斗破观看顺序:

https://v.haohuitao.cc/yhplay/336-1-2.html
第一季☞第二季前2集☞特别篇1☞第二季3~12集☞特别篇2沙之澜歌☞第三季☞第四季☞三年之约☞缘起☞年番
斗气大陆等级:
斗气有十一个阶别,斗之气,斗者,斗师,大斗师,斗灵,斗王,斗皇,斗宗,斗尊,斗圣,斗帝。
斗气大陆上很久没有出现过斗帝了。

一、参加炼药师竞赛

萧炎控制异火进入纳兰桀体内,为其祛除烙毒,而毒素却意外凶猛与顽固,并不能一次将其彻底清除。诡异的毒素也悄悄跟随着异火侵入了萧炎的体内,修炼时萧炎意外的发现,烙毒中蕴含着大量精纯的能量,一举使自己能力大增。
萧炎来到炼药师集会,想在这里看看能不能找到自己需要的药材,并在这里遇到了黑岩城的琳菲,并同时解救被商家欺负的雪魅。并在会长弗兰克和奥托大师的邀请下参加了加玛帝国的炼药师比赛,当然萧炎也是为了能获得恢复灵魂力量的药方–融灵丹,而美杜莎女王也急需这种物品来恢复自己的蛇人之身,命令萧炎一定要拿到此物。

二、UI文件设计原理与运行机制

为了搞清楚窗体类的定义,以及界面功能的实现原理,这里将项目进行编译。编译后在项目目录下会自动生成一个文件ui_widget.h,这样对于一个窗体,就有4个文件了,各个文件的功能说明如下:
在这里插入图片描述
下面分别分析各个文件的内容及其功能,以及它们是如何联系在一起工作的,实现界面的创建与显示的。

  1. widget.h文件

widget.h 文件是窗体类的头文件。在创建项目时,选择窗体基类是QWidget,在widget.h中定义了一个继承自QWidget的类Widget,下面是widget.h文件的内容。

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>

QT_BEGIN_NAMESPACE
namespace Ui {
    class Widget; }
QT_END_NAMESPACE

class Widget : public QWidget
{
   
    Q_OBJECT

public:
    Widget(QWidget *parent = nullptr);
    ~Widget();

private:
    Ui::Widget *ui;
};
#endif // WIDGET_H

widget.h文件有几个重要的部分。
(1)namespace声明
代码中有如下的一个namespace声明:

namespace Ui {
    class Widget; }

这是声明了一个名称为Ui的命名空间(namespace),包含一个类Widget。但是这个类Widget并不是本文件里定义的类Widget,而是ui_widget.h文件里定义的类,用于描述界面组件的。这个声明相当于一个外部类型声明(具体要看完ui_widget.h文件内的解释之后才能搞明白)。
(2)Widget类的定义。widget.h文件的主体部分是一个继承于QWidget的类Widget的定义,也就是本实例的窗体类。
在Widget类中使用了宏Q_OBJECT,这是使用Qt的信号与槽(signal和slot)机制的类都必须加入的一个宏(信号与槽在后面详细介绍)。
在public部分定义了Widget类的构造函数和析构函数。
在private部分又定义了一个指针。

    Ui::Widget *ui;

这个指针是用前面声明的namespace Ui里的Widget类定义的,所以指针ui是指向可视化设计的界面,后面会看到要访问界面上的组件,都需要通过这个指针ui。
2.widget.cpp文件
widget.cpp文件是类Widget的实现代码,下面是widget.cpp文件的内容。

#
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可峰科技

生活不易

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值