首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么在编译过程中,使用Qt Creator调整.ui文件会导致.h文件发生变化?

为什么在编译过程中,使用Qt Creator调整.ui文件会导致.h文件发生变化?
EN

Stack Overflow用户
提问于 2019-06-08 03:49:57
回答 2查看 48关注 0票数 0

我注意到,如果我对.ui文件进行了更改(例如添加一个PushButton小部件)并编译我的项目(其中包含该.ui文件),那么在编译期间会自动在.h文件中添加相应的条目(例如PushButton小部件)(在我编辑的.ui文件的类的.h文件的public:下添加QPushButton *examplePushButton行)。

我只是想知道这是怎么回事。首先,Qt如何知道要将行添加到哪个文件中(假设是Qt以某种方式执行此操作)?在编译过程中发生了什么导致了这种情况呢?很有趣。任何帮助都是非常感谢的。

EN

Stack Overflow用户

发布于 2019-06-08 03:53:04

由QtCreator静默加载的构建系统运行uic.exe工具,该工具将.ui文件“编译”成.h文件(任何编译器都能理解,但他们不理解.ui格式)。

在任何正确配置为使用Qt的IDE中的任何构建系统中,您都会体验到这一点。对于moc生成(用于信号/时隙管理),它也执行相同的操作。

要知道是否必须运行uic,它只需检查时间戳。如果.h比.ui旧,则意味着需要重新生成.h。这与编译器用来决定是否必须编译.cpp (如果不存在.obj/.o文件或它是否比.cpp文件旧)的机制是相同的。

票数 4
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56500477

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档