设为首页收藏本站

无忧开发者社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

搜索

添加UI后命名空间的使用

[复制链接]
lixinghua1010 发表于 2012-10-26 10:34:42 | 显示全部楼层 |阅读模式
       添加UI后为使得UI与我们的父窗口建立联系,我们采用了在构造函数中调用UI类中的函数。如何调用UI类中的函数,我们上课时已经
讲过最基本的用法,那么为什么我们又采用了命名空间呢?这里采用命名空间是为了防止我们的UI类名与我们自定义的类名发生冲突(类名相同)。
在ui_myWidget.h中
         namespace Ui{
            class MyWidget: public Ui_MyWidget{
                           //.........
                           };
          }
类MyWidget公有继承于Ui_MyWidget,然而类Ui_MyWidget中定义的成员都为公有类型,[url=]于是[/url] 类Ui_MyWidget的成员派生到类MyWidget中也全部为公有。最后MyWidget类和Ui_MyWidget类的功能就完全一样,我们就可以用MyWidget代替Ui_Mywidget。
使用方法如下:
             首先在自定义mywidget.h文件中先声明命名空间及使用的类(这块与讲c++中友元的使用前先声明类是同种用法)。
               namespace Ui{
            class MyWidget;
               }
    接着在类内增加数据成员ui,是Ui::MyWidget类型的对象指针
          Ui::MyWidget  *ui;
    然后在mywidget.cpp中包含头文件
          #include"ui_mywidget.h"
    并在构造函数中为ui指针对象开辟空间
          ui=new ui::MyWidget;
    调用UI类中的函数
          ui->setuoUi(this);//this 指代当前类的父对象,即自定义类myWidget 的对象w.
    最后在析构函数中释放ui空间
         delete ui;





yanjun_wang 发表于 2012-11-1 09:02:52 | 显示全部楼层
其实UI就是个代码的生成工具,没有它我们照样OK,但是有了它可以提高我们开发的效率。
所以我们要做的就是如何使用它生成的代码,加到我们的工程中。
SEDU_lidong 发表于 2013-1-24 10:07:36 | 显示全部楼层
现在就知道在构造函数里添加东西,背后东西都。。
泡泡游侠008 发表于 2016-2-22 13:42:50 | 显示全部楼层
事实证明 很多年过去 我记得水饺叔叔 并不记得这里写的喂枣子的事  还有 不箭头发的他了
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|无忧开发者社区 (京ICP备09010168号

GMT+8, 2018-1-21 18:33 , Processed in 0.247034 second(s), 39 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 51Develop.Net

快速回复 返回顶部 返回列表