QT 程须知道的

来源:互联网 发布:淘宝详情页切图 编辑:程序博客网 时间:2024/05/21 06:34

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;


原创粉丝点击