哈尔滨理工大学软件工程专业08-7李万鹏原创作品,转载请标明出处
http://blog.csdn.net/woshixingaaa/archive/2010/08/09/5798356.aspx
首先介绍ui的文件,Qt 通过Qt designer 可以生成ui文件,ui文件以XML的方式记录了designer生成界面的相关内容(大体内容包括widget的属性,其内容的相关属性,头文件,变量,槽,函数)。在使用designer创建的form(也就是ui文件)最后在qmake的时候转换成c++代码。qmake能够检测到窗体文件(*.ui件), 通过uic(user interface compiler)可以把ui文件内容翻译成标准的.h,.cpp文件,并存放在ui_xxx.h文件中。该文件给出了Dialog对应类的完整定义,类名为Ui_Dialog,并包含一个setupUi()成员函数,用于初使化form。在该头文件的最后,使用一个Ui命名空间将该Ui_Dialog类包含进来,并派生出名为Dialog的子类,而Ui::Dialog就成为Designer设计的界面对外的接口了。
利用Designer设计生成ui的3种使用方式
1.直接使用法
2.单继承法
3.多继承法
一.看一个直接使用的例子:
二.现在来讨论单继承法:
本实例使用 Designer 生成3个简单的ui,在使用时,两个ui插入到主程序的QTabWidget中,另一个ui由按钮触发弹出,如图所示
先通过Designer 实现三个ui
注意:在使用ui页面上的控件时,一定要记得加上ui前缀。
同样这个实例采用多继承则要复杂的多,针对每个页面都要实现一个类,此处以第三个ui对话框为例,
以多继承的方式实现它。
由于ThirdDialog是Ui::Third的子类,因此可直接在构造函数中调用setupUi()函数实现第三个对话框的显示。
从以上 对 两种继承方式的分析可见,多继承方式可以直接对ui页面上的控件或函数进行操作调用,代码编写更
加简介;而使用单继承方式,在操作ui页面上的控件时需要加上ui对象前缀,编写代码较为麻烦,但对于程序
中所需用到的ui页面较多时,使用单继承法则要简单灵活的多。