1:打开Designer创建一个widget,根据自己的需要创建就好了
模板和窗口部分中有许多现成的可用的widget
2:拖动控件产生自己需要的widget的过程如下:
1:先想好自己需要哪些控件
2:然后把所有的控件都拖到主widget上
3:改好各子widget的对象名字和相关显示内容
4:设置好buddy的快捷键,然后调整tab按键的选中顺序
5:使用水平布局和垂直布局,生成大小合理的布局
6:最后,对主widget使用调整大小的工具,进行大小调整,对自己大小调整不满意,就进行人工大小调整
3:调整过程中可以使用Ctrl+R进行预览,完成后,crtl+s保存这个做好的widget,只需要保存成一个.ui的文件
4: 在cpp源代码文件中引入上面生成ui文件的方法
例如:上面的.ui文件为 gotocell.ui
那么在main.cpp文件中,则需要
#include"ui_gotocell.h" //引入ui文件的方法 ,uic编译器会把这个.ui文件编译成ui_gotocell.h文件
编译后生成的ui_gotocell.h文件中记录了这个ui的详细信息,打开看一下就可以知道这个ui类应该如何使用了
//下面就是一个使用ui的例子,
#include "dialog.h"
#include <QApplication>
#include "ui_gotocell.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Dialog w;
Ui_Form u; //看ui_gotocell.h文件得到的类名称,然后生成u对象,
u.setupUi(&w); //创建一个基类外壳,把我们生成的u对象放进来,所以w为u的基类,w.show()进会显示出来
w.show(); //如果w不显示出来,还可以添加到别的对象中去,作为一个子对象
return a.exec();
}
5:Designer创建出来的对象是没有基类的
所以我们要通过u.setupUi()函数,给这个ui对象设置一个基类
然后通过这个基类对象来显示这个ui,基类作为一个容器,把designer创建的所有子对象包含在内,然后show()显示出来
6:总结
1:使用designer生成abc.ui文件
2:将abc.ui文件放入工程源码目录
3:在.cpp源码文件中#include"ui_abc.h"头文件
如果没有生成ui_abc.h头文件,可到命令行模式,用uic命令生成,命令如下:
D:\QtCPP\ch2_3>uic abc.ui -o ui_abc.h
4:查看ui_abc.h头文件,得到类的名字,然后生成ui对象 Ui_form ui;
5:设置ui对象的基类ui.setupUi(&w) ,这里基类的类型是非常重要的
6:这里ui对象就已经添加到了基类w中,
7:ui对象可以操作所有的子控件对象(因为在ui中的子控件都是public域的)
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。