QT通过 QT designer 可以生成 ui文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QT通过 QT designer 可以生成 ui文件相关的知识,希望对你有一定的参考价值。
.生成方式:QT通过 QT designer 可以生成 ui文件 (.ui && .ui.h)
2.UI文件内容: 以XML方式记录了QT designer生成的界面的相关内容,大体可以分为如下内容
widget属性,其内容(图形元素, layout。。)的相关属性
头文件
变量
槽
函数
3. 通过UIC (user interface compiler)可以把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选项:
-o file - write output to ‘file‘ rather than to stdout.
-nofwd - omit forward declarations of custom classes in the generated header file. This is necessary if typedef classes are used.
-tr func - use func(sourceText, comment) rather than trUtf8(sourceText, comment) for internationalization.
4.使用: (IN Makefile)
%.h: %.ui uic $< -o [email protected] %.cpp: %.ui uic -impl $*.h $< -o [email protected]注:
.ui.h 文件包含ui文件功能实现部分(slot,function,include,variable)
更改.ui.h文件后(如:加入一个槽),可能.ui文件没有做自动改变,这样会导致编译失败,需手动更改.ui文件
QT 的Makefile会根据.ui文件生成相应源代码,而不是.ui.h文件
5.更改 .ui文件中的中文(.ui文件中中文为utf8, vi中显示不正常)
iconv -f utf8 -t gbk input.ui > output.ui.gbk
vi output.ui.gbk
iconv -f gbk -t utf8 output.ui.gbk > input.ui
以上是关于QT通过 QT designer 可以生成 ui文件的主要内容,如果未能解决你的问题,请参考以下文章
如何将Qt Designer 产生的*.UI文件转换成QT可以使用的*.H和*.CPP
Qt5 UI信号槽自动连接的控件重名大坑(UI生成的槽函数存在一个隐患,即控件重名。对很复杂的控件,不要在 designer 里做提升,而是等到程序启动后,再动态创建,可以避免很多问题)