最近碰到需要使用qt做界面开发的项目。记得上次使用QT都是两年前的事了,那时候QT3,当时用起来还是觉得很舒服的。但现在把QT4装上我才知道,原来QT都发生了很大的变化了。uic,qmake的使用都变化了。所以用了一下午时间来适应这个新环境。


有了大体思路,但就依靠以上BLog仍然无法调通一个测试程序,经过一下午的努力,终于找到了解决方法。总结如下。


1,

qt4的QDialog头文件是由C++编写的,所以在申明的时候使用#include<QDialog>,而不是用#include<QDialog.h>,否则在编译时会出现 QDialog.h不存在;


2,重新使用原来的ui文件时(即直接打开已存在的ui文件),需要删除make生成的东西(run make clean)、删除原来的可执行文件、.pro文件、 Makefile文件、.h文件。

新添加信号槽时:需要进行如下操作,

1,由新的.ui文件生成.h文件(eg, form1.ui -> form1.h)

2,在MyDlg.h中申明头文件(#include<QMessageBox>以及自定义的槽 eg: public slots: void ShowInfo();

3,在MyDlg.h中的MyDlg构造函数中声明信号槽的连接,并实现这个信号。

eg:

QObject::connect(ui.pushButton_2, SIGNAL(clicked()), this, SLOT(ShowInfo()));


void MyDlg::ShowInfo()

{

QMessageBox::information(this, tr("Hello"), tr("Hello World"), tr("OK"));

}

4,重新运行qmake进行编译,最终运行;

现在,重新定义更复杂slot,你就可以实现更复杂的功能了。good luck.