【问题标题】:QtCreator Build doesn't update UI changes in design formQtCreator Build 不会更新设计表单中的 UI 更改
【发布时间】:2015-03-30 08:40:11
【问题描述】:

我的 Qt 项目使用影子构建。
当我更改 MainWindow 表单(.ui 文件)时,我构建了项目,但我的程序没有更新 GUI。
如果我全部重建,GUI 将被更新。但是重建非常非常慢。
我尝试创建一个新项目(带有一些标签的空 QMainWindow),我修改了一些文本。我构建并更新了 GUI。

如何在不重新构建所有项目的情况下正确使用影子构建?

【问题讨论】:

  • 您应该重新尝试使用影子构建创建一个新的图形项目。这将检查问题是在一般影子构建上还是仅在您的项目中。我认为错误出在您的 .pro 文件或类似文件中(您是否使用 CMake、qmake 或其他任何东西?)
  • 我遇到了类似的问题,这对我来说似乎是一个错误。请参阅我在此线程中的评论:stackoverflow.com/questions/4382652/…
  • 我也有同样的问题。这是因为我使用了 QT Designer 和 QT Creator。使用 QT Creator 时,一切都很好。但是,一旦我使用 QT Designer 并使用此工具更新 ui_*.h 文件,QT Creator 就会停止更新该文件。我尝试了这个l的解决方案

标签: qt qt-creator


【解决方案1】:

如果更改*.ui 文件名,也会出现同样的问题。

例如,将yourUi.ui 更改为myUi.ui

如果是这种情况,那么ui_*.h也应该改变,即yourUi.ui改为ui_myUi.h

【讨论】:

    【解决方案2】:

    关闭 Qt creator,进入你的项目目录并删除 .pro.user 文件,再次打开项目,这一次 Qt creator 会要求你通过选择用于构建项目的工具包来配置你的项目。选择合适的套件并按下“配置项目”按钮。应用你的影子构建。我希望它会奏效。

    【讨论】:

    • 选择套件后,build =全部重建。它可以工作,但是如果我再次更改 UI 并构建,我的程序仍然使用旧的 GUI 运行。
    • 将焦点放在项目树中的 .ui 文件上,然后转到 Build->Build File "your UI.ui"
    • 当我修改 ui 文件时,我构建了我的项目,我检查了 ui_mainwindow.h,此文件中的代码已更新,但我的程序仍然使用旧 UI 运行。
    【解决方案3】:

    你试过只运行 qmake (Build -> Run qmake) 吗?

    编辑
    根据评论的建议,我复制了评论以保留它。
    看来QtCreator正确的重建了shadow build目录下的ui的.h文件,然后包含了source目录下的,没有重新生成。我不知道这是一个错误还是预期的行为,但一个快速的解决方法是在影子构建目录中构建项目,将生成的 .h 文件复制回源目录并再次重建。这适用于我的简单项目,不知道是否也适用于更大更复杂的项目。或者不要使用影子构建

    【讨论】:

    • 完成上一条评论。看来QtCreator正确的重建了shadow build目录下的ui的.h文件,然后包含了source目录下的,没有重新生成。我不知道这是一个错误还是预期的行为,但一个快速的解决方法是在影子构建目录中构建项目,将生成的 .h 文件复制回源目录并再次重建。这适用于我的简单项目,不知道是否也适用于更大更复杂的项目。或者不要使用影子构建
    • 请考虑editing 您的答案以添加先前的评论。评论可能会被删除,但答案仍然存在。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 2023-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多