.生成方式:QT通过QTdesigner可以生成ui文件(.ui&&.ui.h)

2.UI文件内容:以XML方式记录了QTdesigner生成的界面的相关内容,大体可以分为如下内容


widget属性,其内容(图形元素,layout。。)的相关属性

头文件

变量


函数

3.通过UIC(userinterfacecompiler)可以把UI文件内容翻译成标准.h,.cpp文件

uic使用方法:


生成声明(.h)文件:uic[options]<file>


uic[options]-subdecl<classname><headerfile><file>生成实现(.cpp)文件:uic[options]-impl<headerfile><file>

uic[options]-subimpl<classname><headerfile><file选项:


-ofile-writeoutputto'file'ratherthantostdout.

-nofwd-omitforwarddeclarationsofcustomclassesinthegeneratedheaderfile.Thisisnecessaryiftypedefclassesareused.

-trfunc-usefunc(sourceText,comment)ratherthantrUtf8(sourceText,comment)forinternationalization.

4.使用:(INMakefile)


%.h:%.uiuic$<-o$@%.cpp:%.uiuic-impl$*.h$<-o$@注:

.ui.h文件包含ui文件功能实现部分(slot,function,include,variable)

更改.ui.h文件后(如:加入一个槽),可能.ui文件没有做自动改变,这样会导致编译失败,需手动更改.ui文件

QT的Makefile会根据.ui文件生成相应源代码,而不是.ui.h文件


5.更改.ui文件中的中文(.ui文件中中文为utf8,vi中显示不正常)

iconv-futf8-tgbkinput.ui>output.ui.gbk

vioutput.ui.gbk

iconv-fgbk-tutf8output.ui.gbk>input.ui