QT 如何通过.h文件更新.ui文件

LBlackCat 2017-12-25 11:14:03
初学QT,要在vs中用qt写界面,然而发现一个问题。
就是直接在.ui文件中,用拖控件的方式直接构造界面,在运行的时候,界面的相关布局代码所在的.h文件就会自动更新,可如果我是通过代码,在.h中构造控件,写它的位置,功能啊什么的,ui文件是不会更新的,这样的话 代码和.ui就不同步了,有的时候,在运行的时候,未被修改的ui文件还会把我写的代码冲掉,恢复成ui设置的那个样子。
也就是说,.ui改了后,.h会自动更新同步,然而反过来,.ui 缺没动静。
请问,有什么方法能让.ui和.h相互同步呢?
...全文
1489 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
donwmufromdying 2018-01-09
  • 打赏
  • 举报
回复
楼主,你完全可以不用.ui方式去构造你的界面和完全控制你的界面,建议去看看Qt自带的例子mainwindow.它里边虽然有.ui,但是内部的很多控件都是自己创建和布局的这个不冲突
lyz007 2018-01-05
  • 打赏
  • 举报
回复
你的代码不能写在ui_名字.h文件里,应该写在该窗体对应的.cpp里面就不会冲掉了!
代码运输员 2017-12-26
  • 打赏
  • 举报
回复
引用 3 楼 LBlackCat 的回复:
引用 2 楼 only_1 的回复:
本来就这么设计的啊,修改ui的槽话,.h和.cpp会自动更新相应的函数.你在.h和.cpp中自己定义的其他的函数和变量是不会修改的,要是更改.h,ui怎么知道你是什么意思,给你改成什么样子.
请问 是不是大家都不会自动通过写代码来搞控件呢?
自动什么意思?你说开发环境,还是说人工写代码.qt的控件操纵代码能力低于vs和c++builder,所以大部分控件的特殊操作还是要手动写 的
LBlackCat 2017-12-26
  • 打赏
  • 举报
回复
引用 7 楼 Marcelxx 的回复:
引用 4 楼 LBlackCat 的回复:
[quote=引用 1 楼 Marcelxx 的回复:] .h文件是根据UI文件生成的,无法通过.h文件更改去改UI文件的。
请问 那平时代码只是负责写槽函数吗?
ui_名字.h这个.h文件是根据UI文件生成的,你在你窗口的类中做具体的调整那些,比如信号槽之类的,微调控件的大小等之类的。[/quote]诶. 信号槽的具体代码还是要手写,然而微调控件还是不能在 用ui生成之后,用代码再改吧?
LBlackCat 2017-12-26
  • 打赏
  • 举报
回复
引用 5 楼 only_1 的回复:
引用 3 楼 LBlackCat 的回复:
引用 2 楼 only_1 的回复:
本来就这么设计的啊,修改ui的槽话,.h和.cpp会自动更新相应的函数.你在.h和.cpp中自己定义的其他的函数和变量是不会修改的,要是更改.h,ui怎么知道你是什么意思,给你改成什么样子.
请问 是不是大家都不会自动通过写代码来搞控件呢?
自动什么意思?你说开发环境,还是说人工写代码.qt的控件操纵代码能力低于vs和c++builder,所以大部分控件的特殊操作还是要手动写 的
您的意思是 平时的控件放置可以拖控件,而槽函数之类的“特殊操作”用手写呢? 其实我就是想问一下,大家平时是怎么做的。
Marcelxx 2017-12-26
  • 打赏
  • 举报
回复
引用 4 楼 LBlackCat 的回复:
引用 1 楼 Marcelxx 的回复:
.h文件是根据UI文件生成的,无法通过.h文件更改去改UI文件的。
请问 那平时代码只是负责写槽函数吗?
ui_名字.h这个.h文件是根据UI文件生成的,你在你窗口的类中做具体的调整那些,比如信号槽之类的,微调控件的大小等之类的。
大风哉 2017-12-26
  • 打赏
  • 举报
回复
我觉得ui designer只是为了方便编程使用,将要写的代码通过拖拉控件来放置,如果有能力用代码实现还是用代码实现更好。
Marcelxx 2017-12-25
  • 打赏
  • 举报
回复
.h文件是根据UI文件生成的,无法通过.h文件更改去改UI文件的。
LBlackCat 2017-12-25
  • 打赏
  • 举报
回复
引用 1 楼 Marcelxx 的回复:
.h文件是根据UI文件生成的,无法通过.h文件更改去改UI文件的。
请问 那平时代码只是负责写槽函数吗?
LBlackCat 2017-12-25
  • 打赏
  • 举报
回复
引用 2 楼 only_1 的回复:
本来就这么设计的啊,修改ui的槽话,.h和.cpp会自动更新相应的函数.你在.h和.cpp中自己定义的其他的函数和变量是不会修改的,要是更改.h,ui怎么知道你是什么意思,给你改成什么样子.
请问 是不是大家都不会自动通过写代码来搞控件呢?
代码运输员 2017-12-25
  • 打赏
  • 举报
回复
本来就这么设计的啊,修改ui的槽话,.h和.cpp会自动更新相应的函数.你在.h和.cpp中自己定义的其他的函数和变量是不会修改的,要是更改.h,ui怎么知道你是什么意思,给你改成什么样子.

16,203

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧