QtCreator设计器信号/插槽连接与生成的代码不一致



我正在QtCreator的Qt项目上工作。该项目有一个带有几个UI元素的对话框,其中一些元素必须根据用户的操作来启用/禁用。(即,如果用户选择了单选按钮,则必须启用表单字段。)

当我添加一个新的信号/插槽连接或删除现有的通过Qt设计器工具,变化显示在预览中很好。但是,当我编译应用程序时,窗口的行为仍然和以前完全一样。

我通过检查Qt设计器创建的ui_WindowName.h文件来调查这个问题。靠近setupUi函数的末尾是一组connect()调用。这些connect()调用与今天早些时候存在的槽和信号一致,但它们不反映我从那时起通过Qt设计器所做的更改。

如果我手动更改ui_WindowName.h文件,则UI工作。但是,当然,如果我试图改变Qt Designer中的任何东西,我的更改将被覆盖。

当我退出QtCreator并再次打开它时,Designer仍然显示更改的槽/信号连接,而自动生成的代码不反映更改。

我做错了什么吗?是否有某种方法可以删除设计器存储的任何缓存,或者使内容恢复同步?

谢谢!

(另一件事:我正在使用独立的Qt Creator,而不是试图在Visual Studio中开发。我在网上发现的唯一一个类似的问题是来自于一个用Visual Studio开发的人,它不支持自动信号/插槽的东西。

像往常一样,一旦你意识到这一点,答案是显而易见的。

我在工作的过程中移动了项目。有个。pro。跟踪项目所在位置的用户文件。在没有意识到这一点的情况下,我将它与其他文件一起移动。

结果,我正在编辑一个项目的副本并运行另一个。

这个故事的寓意是:如果你移动了一个Qt项目,记得更新你的.pro。用户文件。

(或者你可以直接删除它。Qt Creator会在你打开项目时提示你重新创建它)

最新更新