C ++ / QT中的多个文件让我发疯

时间:2012-03-21 23:42:27

标签: c++ qt4 window

编译项目时,我收到错误:

  

错误:D:\ Programming \ Projects \ Aprovado \ examwindow.cpp:6:错误:   无效使用不完整类型的结构Ui :: ExamWindow'

但这并没有任何问题。这是一行:

  

ExamWindow :: ExamWindow(QWidget * parent):QMainWindow(parent),ui(new   UI :: ExamWindow)

文件:http://dl.dropbox.com/u/2181407/damn.rar

好吧,使用QT4和项目中的以下文件:main.cpp,mainwindow.cpp,studywindow.cpp,mainwindow.h,studywindow.h,ui_mainwindow.h,ui_study.h,它可以正常工作。 当我尝试添加其余文件时,它开始输出错误。

我试过了,我试过了,我试过了,我无法摆脱它。

你能帮助我吗?

2 个答案:

答案 0 :(得分:4)

你听起来非常绝望,所以我决定下载你的代码并看一看。

我遇到了很多问题。您没有包含.ui文件,所以我只能走多远。过去那是包含examwindow.cpp的{​​{1}} Ui(new Ui::ExamWindow)的编译错误,应该是ui(new Ui::ExamWindow)

之后我因无效使用不完整类型Ui::ExamWindow而出错。那时我注意到第二个包括ui_examcalendar.h那是不对的。 ui_examwindow.h应该有一个包含,但该档案中不存在该文件。

我放弃了,抱歉。

检查更新的文件后:

如@alexisdm所述,您有一些命名问题。我通过一些批量重命名来完成一切编译,以使一切都保持一致。

  • 将所有文件重命名为.cpp文件的小写等效文件。
  • 打开设计编辑器中的每个.ui文件,并将对象名称设置为相当于每个.cpp文件的camel案例(ExamWindow,MainWindow等)
  • 确保所有.cpp文件都包含正确的重命名文件名。

答案 1 :(得分:4)

假设ui_examcalendar.hExamWindow类的正确UI生成标头,您应该更改设计器中顶级窗口小部件的名称ExamCalendar.ui

目前,它的名称为Form,因此生成的UI类名称为Ui::Form,因此如果您需要Ui::ExamWindow,则应将其命名为ExamWindow