Qt类与其.ui文件断开连接?

时间:2010-11-05 18:48:00

标签: qt class user-interface

我的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中,它将它们放在构建目录中。所以我更新了头文件,但我的程序链接到了错误的文件。不幸的是,我现在似乎无法将其链接到正确的头文件。有什么想法吗?

1 个答案:

答案 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。