QT 程须知道的

本文详细介绍了Qt中如何使用名称空间解决命名冲突问题,并通过具体的类定义和构造函数讲解了如何实现界面的继承与组合。此外,还解释了explicit关键字的作用及如何正确使用QWidget。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Qt程序一般格式:


#ifndef SHOWLIST_H

#define SHOWLIST_H


namespace Ui {
class ShowList;//前置声明ShowList

}


 

namespace是用来解决C++的名字冲突问题的
名字空间名必需是唯一的,否则必需在它们的外面再套上一层名字空间,名字空间可以和类一样的嵌套使用 ,而qt在编译时会生成两个相同的类名,于是就有了Ui::ShowList *ui;
。
同名类在声明实例时必需加上名字空间作用域符“名字空间名::类名” 



class ShowList : public QWidget

{

    Q_OBJECT

public:
    explicit ShowList(QWidget *parent = 0);

//QT中有了QWidget *parent = 0此参数,子类才会继承父类在构造函数中初始化了的数据,否则,父类的初始化数据的构造函数不执行,并且指定了父组件

//explicit 只对构造函数起作用,用来抑制隐式转换。

http://www.cnblogs.com/cutepig/archive/2009/01/14/1375917.html点击打开链接
    ~ShowList();

private:
    Ui::ShowList *
ui;//designer创建的

}


showlist.cpp:

/*

派生类会继承基类的所有成员,除了构造函数和析构函数。

其一般形式为:

       派生类构造函数名(总参数列表):基类构造函数名(参数列表)

       {

          派生类中新增数据成员初始化语句;

        }

*/


ShowList::ShowList(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::ShowList)
{

    ui->setupUi(this);

}

在qt4中使用了继承的方式来使用designer创建的窗体,也就是同时继承QWidgetUi::ShowList

在QtCreator自动创建的项目中,使用了组合的方式来使用Designer创建的窗体,就是集成QWidget,而将Ui::ShowList 作为一个成员变量来使用,也就是
private:
Ui::ShowList *ui;


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值