我已创建表单,将其保存在项目目录中。现在我想添加一些代码。 所以,我已经创建了头文件:
#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"
^
答案 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文件中 具有适当的大小写(与文件名完全相同)。