我的qt项目中的某个MainWindow
已经与我在qt designer中创建的.ui
取消链接(我使用qt creator作为我的IDE)。实现文件确实有:
#include "mainwindow.h"
#include "ui_mainwindow.h"
但是如果我将一个小部件(例如,lineEdit
)添加到设计器的UI中,如果我尝试在我的实现中对该小部件执行任何操作,我会收到错误(当然,还有自动完成)没有检测到该小部件)。
有人可以帮忙吗?如果这不够描述,请告诉我。谢谢!
[修改]
这似乎是我从qt 4.6到4.7的问题。在Qt4.6中,为UI生成的头文件与项目放在同一目录中。在Qt4.7中,它将它们放在构建目录中。所以我更新了头文件,但我的程序链接到了错误的文件。不幸的是,我现在似乎无法将其链接到正确的头文件。有什么想法吗?
答案 0 :(得分:1)
假设基于qmake的默认项目,当您创建新文件时,您可以选择是否将其添加到项目中。您可以在“项目管理”对话框中以“添加到项目”复选框的形式选择此项。
要确保表单由QtCreator管理,请编辑项目的.pro
文件,以便通过向.ui
添加条目来查看FORMS
文件。例如,如果您需要添加一个表单mainwindow.ui
和第二个newdialog.ui
,则可以使用以下任何选项对其进行更改:
选项1:
FORMS += mainwindow.ui \
newdialog.ui
选项2:
FORMS += mainwindow.ui newdialog.ui
选项3:
FORMS += mainwindow.ui
FORMS += newdialog.ui
第一个选项由QtCreator 1.3.1使用。
只要ui
文件在FORMS中注册,qmake生成的makefile就足以满足当前版本Qt-4.6或Qt-4.7。