急!Linux下Qt代码编写位置的问题

来源:百度知道 编辑:UC知道 时间:2024/06/07 23:13:10
本人在Linux下写了一个串口通讯的程序并且编译通过,现要将他移植到Qt可视化视图环境下,现在已经在Qt Designer(v3.1)下做好了可视化界面,是一个.ui的文件,接下去我想在这界面基础上添加代码,却不知道应添加到哪里,网上有的说可以直接在ui.h中添加,不过我加了代码后却一点作用都没体现出来。后来我用uic方法生成了.cpp和.h文件,但网上的指导是还要在写一个main.cpp文件将这些文件集结起来,不知道要怎么个连接法啊,是不是像VC那样include几个函数就可以直接将串口通讯的代码添加进来了啊?抑或说串口通讯的代码应该添加到uic生成的.cpp文件中去呢?请各位Linux和Qt高手们赐教啊~~
还有就是Qt似乎也可以就写一个main.cpp文件进行编译,就是把界面等所有东西都写进去,然后上文提到的用于连接的main.cpp文件写的内容和他又有什么区别呢?
急啊~

我一个一个给你解答吧:
用Qt Designer拉出的界面是“.ui”的文件,要编写代码,首先要生成.cpp文件和.h文件,具体方法是:
uic -o *.h *.ui //(*为具体的文件名)
uic -i *.h -o *.cpp *.ui
就产生了.cpp和.h文件,这两个就是图形界面的代码;

接下去就是写代码了,要写代码首先要先把这个程序在终端中运行一下,这时需要一个main函数作为运行的入口,你可以写个main.cpp文件,也可以将main函数写在生成的.cpp文件里面,其实main函数的写法很简单,这里我提供一个简单的模板,基本上也都差不多:
#include<qapplication.h>
#include<*.h>
int main(int argc, char *argv[])
{
QApplication app(argc,argv);
Form1 *form1=new Form1();
form1->show();
app.setMainWidget(form1);
return app.exec();
}
然后用qmake建个工程并进行连接,具体方法是:
qmake -project *.pro
qmake -o Makefile *.pro
这样就产生了*.pro和Makefile文件,make一下“./*”运行就可以了。

要写代码的话,在生成的.cpp文件里面写就可以了,同时.h头文件里面要声明,写完make重新编译一下就可以了。

另外,Qt确实也可以只用一个main.cpp来运行,就好象我们用ASP.NET直接敲<aspx>……</aspx>一样,不过这样的话你的界面代码都要在这个文件中自己写,不能