以前看dansin他们用QtDesigner编写应用程序蛮简单,可是真的没想到,自己要用它写程序的时候竟然折腾了好几天才搞清楚,真后悔当初没有跟他们好好学习一下子.
刚开始需要使用QT编写程序的时候,为了加快学习进度,我就去买了一本关于这个的书,叫做<QT程序设计>,清华大学出版社的,我这里写这本书不是想为这本书打广告,而是想大大的骂一下这个作者!这本书什么都讲,什么X Windows编程入门,KDE程序设计,就是没有一样管用的,例子确实是很多,就是全部用VI写的,变态!就连500多行的Makefile它也说是用VI敲的,这不是变态是什么.好好的Kdevelop和Qtdesigner竟然一点都不提一下子!不好意思,真的是太激动了,感觉就是白买了一本书.
下面简要介绍一下用QtDesigner编写程序的各个步骤,在这里还要感谢我的好朋友dansin,因为他以前不赖其烦的给我介绍Qt的基础概念,使得我此时不用费心思去了解这些基础知识.
在开始之前,我到公司主页http://www.trolltech.com/products/qt/designer.html看了一下子关于这个工具使用的flash教程,简单了解了这个工具的使用.但是这个教程是windows下面的,如何在linux下面搞仍然不是很清楚.
我的Linux是federo的,也就是以前的red hat,安装好的QT是3.1版本的,带有Qtdesigner.我用这个工具照着上面的例子画了个简单的界面,保存之后生成form1.ui,然后就不晓得怎么搞了
网上有说uic的,有moc的,qmake,tmake,搞得我晕头转向,我uic,moc都试着用了,编辑了pro文件,编辑pro文件用qmake创建makefile到是学会了,就是ui文件生成那几个.h,.cpp和moc文件不晓得怎么搞.我觉得以前dansin没这么复杂啊.
后来看到一篇使用qmake 生成makefile的文章,http://www.xfok.com/Tech/OS/Linux/2005/06-12/16836,67.aspx ,里面提到可以pro文件里面FORMS增加自己的ui文件,会自动生成对uic和moc的调用,一下子就豁然开朗了,我知道qmake -project可以根据当前目录下面的文件自动生成pro文件的,那么也就是说只要我建立好自己的main函数文件,就可以了.通过查阅资料,我编写了main函数文件:
#include <qapplication.h>
#include <qapp.h>
#include <form1.h>
main(int argc,char *argv[])
{
QApplication app(argc,argv);
Form1 *fr = new Form1;
fr->show();
app.setMainWidget(fr);
return app.exec();
}
然后将这个文件保存在跟ui在一起的目录,然后使用
qmake -project
qmake
make
就可以生成相应的可执行文件了,这个时候,修改ui生成的cpp文件,把里面的槽改成自己的设置,就可以了