分类: LINUX
2010-06-30 11:08:37
以前写界面都是直接用代码写,效率不高,但是源代码可跟踪。现在在网上拿到这个snmpb的开源程序,界面都是那ui做的。捣鼓了一通,总结如下:
自己新建了一个ui文件,例如ip.ui。然后依葫芦画瓢,在需要调用处#include “ui_ip.h”,实际上这个头文件是依据makefile生成的,这个程序中生成在./ui文件夹下,所以记得修改makefile(是不是不用手动去改,直接改pro文件可以么?),各种依赖关系要改好。
在主窗体上新建了一个menu action,点击弹出一个对话框。这个对话框就是我新加的ui,可以查看ui_ip.h可以看到这个类的名字,直接可以调用其构造函数xxx();注意这个对话框new的位置。new的时候不弹出。这里用了这样的处理方法:
除了这个new这个ui为ip之外,再new一个QDialog,比如说是ipw,然后ip->setupUi(ipw);
类似preferences.cpp里面的做法:
p = new Ui_Preferences();
pw = new QDialog();
p->setupUi(pw);
然后在Excute函数中调用exec()使对话框显示
void Preferences::Execute (void)
{
if(pw->exec() == QDialog::Accepted)
{
...........