程序代码无法访问QCreator设计器小部件

QCreator designer widget inaccessible from program code

本文关键字:小部 QCreator 代码 访问 程序      更新时间:2023-10-16

前言:我在通过Qt SDK安装的Mac OS X Lion上使用Qt Creator 2.4.1(基于Qt 4.7.4,64位)。

我正在做一个项目,我使用QCreator中的设计器创建了一个UI。我有几个小部件可以正常工作。我创建了一个新的QPushButton小部件,从设计调色板拖动它,并在设计器中设置了一些属性。但是,我无法使用ui->[widget]约定从源代码访问它。我可以按预期访问表单上的其他所有小部件。对该网站的搜索产生了一个类似的问题,但指定的解决方案对我不起作用

我试过:

  • 干净、完全重建
  • 重新运行qmake
  • 重新启动QCreator

我已经检查了ui元素生成的XML,小部件也包括在内,并且具有正确的objectName和属性,但设计器的源代码部分没有看到它

我通过删除当前工作目录、从版本控制中检出最新源代码并创建一个新项目来解决这个问题。经过进一步的仔细检查,我发现qmake每次编译都会生成的ui_mainwindow.h被移到了源目录中,而不是构建目录中,这肯定与QCreator产生了一些内部冲突,因为它不会重新生成它,只会将旧的复制到构建文件夹中。如果我看到了这个文件,并节省了重新开始的时间,删除它可能会奏效。