网站首页
IC库存
IC展台
电子资讯
技术资料
PDF文档
我的博客
IC72论坛
ic72 logo
资料首页最新产品 技术参数 电路图 设计应用 解决方案 代理商查询 IC替换 IC厂商 电子辞典
关键字: 技术文章 PDF资料 IC价格 电路图 代理商查询 IC替换 IC厂商 电子辞典

分析QT3与QT4中uic的使用差异

    1、QT3

    在QT3中,用designer设计好界面后,使用uic来根据界面生成代码文件,QT3的uic可以自动生成.h和.cpp文件,假设你在制作一个名叫DemoDlg的对话框,生成文件名为DemoDlg.ui的ui文件,那么 QT3的uic生成的文件则是DemoDlg.h和DemoDlg.cpp,具体的命令如下:

    # uic

    DemoDlg.ui

    -o

    DemoDlg.h

    # uic

    DemoDlg.ui

    -i

    DemoDlg.h

    -o

    DemoDlg.cpp

    所有的界面初始化工作都在cpp文件中执行,控件的定义在h文件的类中声明,之后程序的逻辑代码(包括信号与槽的连接)也将加入这个文件,那么对于一个已经完成逻辑功能的对话框来说,如果要修改界面布局,你就不得不重新用uic生成.h和.cpp文件,然后将其中界面相关的代码复制到你已经修改的文件中,此时决不能直接用uic直接生成到修改过的文件上,因为那样你的代码将全部被覆盖掉。

    2、QT4

    在由ui文件生成h文件方面,QT4改进了,QT4中推荐的方法是,使用uic根据界面文件生成一个h文件,以前面的DemoDlg为例,生成的文件叫做ui_DemoDlg.h,在控制台执行命令为:

    # uic

    DemoDlg.ui

    -o

    ui_DemoDlg.h

    ui_DemoDlg.h中会实现一个名为Ui_DemoDlg的类,包含了界面所有控件的加载功能,而程序的逻辑功能依然使用DemoDlg.h和DemoDlg.cpp这两个功能,并在DemoDlg.h中用多重继承的方法,从刚才的Ui_DemoDlg类来继承出实际的DemoDlg类,在DemoDlg的构造函数中,只需要使用setupUi()方法,就可以构建出整个界面,并且由于是从Ui_DemoDlg继承来的,在逻辑代码中也可以方便的访问所有控件,当然Ui_DemoDlg类中控件的权限为public最好了。

    由此看来,QT4的方法是个巨大的进步,因为ui_xxx.h中不再包含任何用户自己写的代码了,此时你想更改界面布局的话,只需要用designer修改界面,再用uic生成ui_xxx.h文件,直接替换原文件就可以了。这样就不会因为界面的改变而迫使你修改xxx.h和xxx.cpp了。

热门搜索:01B1002JF UL17CB-15 N060-004 BQ25895MRTWR 6SPDX-15 2804623 TLM609NS BTA12-800TWRG 01M1002SFC2 2811271 BT151S-800R118 LED24-C4 DRV8313PWPR SS480806 2320296 SBB1005-1 B20-8000-PCB PDUMV20 PSF2408 2839376 TLP6B SBB1002-1 2858043 TLP604TEL 2839211
COPYRIGHT:(1998-2010) IC72 达普IC芯片交易网
客户服务:service@IC72.com 库存上载:IC72@IC72.com
(北京)联系方式: 在线QQ咨询:点击这里给我发消息 联系电话:010-82614113 传真:010-82614123
京ICP备06008810号-21 京公网安备 11010802032910 号 企业资质