如何将Qt Designer 产生的*.UI文件转换成QT可以使用的*.H和*.CPP

搜到的:把UIC.exe和你要转换的xxx.ui文件拷贝到同一目录。开始菜单,运行CMD进入uic.exe和xxx.ui的目录,运行以下命令:uicxxx.ui-oxxx... 搜到的:
把UIC.exe和你要转换的xxx.ui文件拷贝到同一目录。
开始菜单,运行CMD
进入uic.exe和xxx.ui的目录,运行以下命令:
uic xxx.ui -o xxx.h 生成.h文件
uic xxx.ui -i xxx.h -o xxx.cpp 生成.cpp文件
生成头文件没问题,但在生成cpp文件时,给了这么个提示(如图),并且没有生成.cpp文件!

我是在qt designer中设计的ui,项目是在vs2010里创建的..
PS:为什么vs不能自动调用qt的uic编译ui自动生成.h 和.cpp呢?我已经nmake了呀,几个小时搞了等于没搞嘛!
展开
 我来答
创作者XXGDQ4kMbU
推荐于2017-12-16 · TA获得超过1281个赞
知道小有建树答主
回答量:371
采纳率:66%
帮助的人:431万
展开全部
呵呵呵呵.....
同学你对Qt不熟吧.ui 文件是不会生成.cpp文件的.ui文件就会生成一个ui_***.h文件.
有了这个ui_***.h文件就足够了.里面已经包含了所有的布局信息.

要用这个布局文件.你就要新建另一个 ***.h和***.cpp.然后在 ***.h中添加 ui_***.h.
并利用ui_***.h 定义一个变量叫ui.
在***.cpp中.使用 ui->setupUI();这就完成了添加布局信息的过程了.

要注意的是新建的类必须和ui中的基础类一致. 比如ui中的布局基于QDialog 你就不可以新建一个继承于QMainWindow的类来添加ui中的布局信息..
追问
嗯~刚上手
你说Qt会根据ui文件自动生成一个ui_***.h文件,我没有看到啊,难道指的是我自己用uic编译得到的.h文件么?
另外,还有一最大的疑问:
我知道VS的c++编译器和Qt的不同,我想这也就是网上那么多人说装了vs add-in,还要重新configure、nmake Qt安装包,从而使得VS可以编译qt程序,对吧?!那么都这么做了,为什么还要用uic来编译ui生成.h呢,那如果新建的页面多了,或者修改了ui,岂不是要重新编译和改很多代码?
追答
要知道你那个 uic 编译得到的.h文件是不是就是包含布局信息的头文件很容易,你只需要打开它看看里面有没有你刚刚拖拽进Qt Designer 的控件和 setupUi() 这个函数就ok了.

对于 VS 配合 Qt 库的编码应该如何做不好意思我没办法帮你解答, 我用的是 Qt Designer + Qt Creator. Qt Creator 会自己管理uic 每次ui有改变就自动去修改布局文件.h. 但是缺点就是编译速度非常慢...
就烦条0o
2018-07-30 · 知道合伙人软件行家
就烦条0o
知道合伙人软件行家
采纳数:33315 获赞数:46492
从事多年系统运维,喜欢编写各种小程序和脚本。

向TA提问 私信TA
展开全部
进入uic.exe和xxx.ui的目录,运行以下命令:

uic xxx.ui -o xxx.h 生成.h文件

uic xxx.ui -i xxx.h -o xxx.cpp 生成.cpp文件
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式