未找到ui头文件(ui_name.h)

时间:2013-12-14 13:23:39

标签: c++ qt

我已创建表单,将其保存在项目目录中。现在我想添加一些代码。 所以,我已经创建了头文件:

#ifndef SORTDIALOG_H
#define SORTDIALOG_H

#include <QtWidgets/QDialog>
#include <QtWidgets/QWidget>


#include "ui_sortdialog.h"


class SortDialog: public QDialog, public Ui::SortDialog
{
    Q_OBJECT
public:
    SortDialog(QWidget *parent=0);
    void setColumnRange(QChar first, QChar last);
}

#endif // SORTDIALOG_H

在编写代码Qt创建者时,请参阅ui_sortdialog.h,例如,我可以看到&#34; Ui&#34;命名空间。但是当我试图编译写入ui_sortdialog.h时没有找到

C:\Qt\Qt5.1.1\Tools\QtCreator\bin\untitled2\sortdialog.h:8: error: ui_sortdialog.h: No such file or directory
 #include "ui_sortdialog.h"
                       ^

3 个答案:

答案 0 :(得分:3)

您创建了一个名为 sortdialog 的表单,对吗? 如果你使用Qt Creator,它应该将以下行添加到项目的.pro文件中:

FORMS += sortdialog.ui

如果没有这样的行,请将其添加到.pro文件中。

当项目有.ui文件时,会在构建过程中调用名为 uic 的命令。在这种情况下,这个 uic (“ui编译器”)负责生成ui_sortdialog.h。

你很少需要直接调用它,在make之前运行qmake应该为你做(如果前面提到的FORMS行在你的.pro文件中)。

答案 1 :(得分:3)

当构建目录与*.pro文件位于同一文件夹时,Qt有时会遇到困难。

我建议确保您的构建目录在目录结构中比项目文件高一级。

以下目录结构容易出错:

  

的Myproj / proj.pro
  的Myproj /建立/

以下目录结构将避免此问题:

  

的Myproj / proj.pro
  MyProjBuild /

答案 2 :(得分:1)

我有这个问题。   这是我必须解决的问题: 确保sortdialog.cpp和sortdialog.ui在相应部分的pro文件中 具有适当的大小写(与文件名完全相同)。