Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/154.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 找不到ui头文件(ui_name.h)_C++_Qt - Fatal编程技术网

C++ 找不到ui头文件(ui_name.h)

C++ 找不到ui头文件(ui_name.h),c++,qt,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 {

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

#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
你创建了一个叫做sortdialog的表单,对吗? 如果您使用Qt Creator执行此操作,则应将以下行添加到项目的.pro文件中:

FORMS += sortdialog.ui
如果没有这样的行,请将其添加到.pro文件中

当项目有.ui文件时,作为构建过程的一部分,将调用名为uic的命令。在您的情况下,这个uic(“ui编译器”)负责生成ui\u sortdialog.h

您很少需要直接调用它,在make之前运行qmake应该可以帮您完成(如果前面提到的表单行在您的.pro文件中)。

我遇到了这个问题。 以下是我必须解决的问题:
确保sortdialog.cpp和sortdialog.ui都在pro文件中的适当部分中,并使用适当的大小写(大写或小写,与文件名完全相同)。

Qt有时在生成目录与
*.pro
文件位于同一文件夹时遇到困难

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

以下目录结构容易出错:

MyProj/proj.pro
MyProj/builds/

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

MyProj/proj.pro
MyProjBuild/


您是否将ui文件添加到项目中,如
FORMS+=myform.ui
?如何检查uic生成的ui头文件。我是说,文件保存在哪里?
FORMS += sortdialog.ui