QT中,添加一个新的窗体不如VC中那么方便,我们都知道VC或者C#中添加一个窗体,添加完后直接会生成对应的头文件和源代码文件。但在QT中如果你直接想在这个窗体设计器上为其添加代码(如给按钮增加click事件),则会弹出下面的对话框。

看到这个对话框,我们的第一反应是在工程中为其添加对应的头文件和资源代码文件,但这仅是我们的一厢情愿,这个对话框依旧存在。那么问题出在哪里呢?

(首先我猜测,你一定在添加窗体的时候选择的是没有类支持的窗体,也就是QT designer form,而不是QT Designer Form Class)

注意观察上面的提示,No documents matching “ui_mainwindow.h” could be found,也就是说它默认需要的是ui_mainwindow,而我们可能就没有满足它的要求,而是根据窗体名mainwindow.ui将头文件写成了mainwindow.h。
也许执拗的你还是不习惯将名字写成ui_mainwindow.h,你中意的是mainwindow.h,怎么办呢?
首先我们来到调试运行目录,果然发现了他们的踪迹:

打开他们我们发现,在这个文件中是描述的窗体的各类控件和元素的生成。按照道理来说已经没有什么问题了哦,怎么就会找不到它呢?

我们首先尝试再建立一个窗体,但这次我们直接通过QT Designer Form Class来建立一个窗体,看看QT Designer Form Class与QT Designer Form两种方式的差异在哪里。

在没有编译前后,发现与第一种方式相比没有什么变化,唯一不同的是在mainwindow.h中有对ui_mainwindow.h的描述和引用。
mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H#include <QMainWindow>namespace Ui {
class MainWindow;
}class MainWindow : public QMainWindow
{Q_OBJECTpublic:explicit MainWindow(QWidget *parent = 0);~MainWindow();private slots:void on_pushButton_clicked();private:Ui::MainWindow *ui;
};#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"MainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow)
{ui->setupUi(this);
}MainWindow::~MainWindow()
{delete ui;
}

那么,我们有理由怀疑,这就是ui_mainwindow.h的出处啦,每次说找不到ui_mainwindow.h就是这里应该有描述,而我们通过第一种方式新建的From中缺少了它。

我们做一个实验,将项目中现有的mainwindow.ui删除,而采用QT Designer Form方式添加mainform.ui的form,结果发现添加PushButton的click事件时没有说不能匹配ui_mainwindow.h。

至此,我们将所有与mainwindow有关的ui,h,cpp文件都删除,通过QT Designer Form方式重新建立这三个文件,并且将上面的代码拷贝进入头文件,看看结果如何?

通过测试,我们将上述cpp代码和头文件代码分别拷贝到新建的cpp和h文件中,再给UI中添加一个按钮,并且给按钮添加click事件,非常正常,没有报错。

从上述的试验得知,其实只要在cpp文件中添加ui_mainwindow.h的包含引用即可避免这个报错发生,问题得到解决。

No documents matching xxx.h could be found相关推荐

  1. No documents matching “xxx.h“ could be found<解决方法>

    同样在网上看了很多解决方法没有一个能看进去的 对于第一次安装了QT 或多会出现一些坑 接下来废话不多说 直接上方案 首先需要新建一个项目 然后从QT里面打开就可以了

  2. 添加槽函数出现no documents matching “ui_xxx.h“

    添加槽函数出现no documents matching "ui_xxx.h" 在qt creator下添加槽函数出现no documents matching "ui_ ...

  3. #include sys/xxx.h头文件 UNIX头文件

    原文地址:#include sys/xxx.h头文件 UNIX头文件 作者:embededgood #include sys/xxx.h是Linux系统中的系统头文件 应用程序的头文件在/usr/in ...

  4. screen:There is no screen to be resumed matching XXX 解决办法

    对创建的screen会话进行恢复时出现:There is no screen to be resumed matching XXX 解决办法 screen -d 会话名 screen -r 会话名 新 ...

  5. iOS:error: exportArchive:No certificate for team ‘xxx‘ matching ‘‘xxx found

    打包上 appstore 的时候,报错: error: exportArchive:No certificate for team 'xxx' matching ''xxx found 发现本地钥匙串 ...

  6. 解决 VS 无法打开包括文件: “XXX.h”: No such file or directory问题

    每次封装管理,当 Visual Studio 包含多个 .h 文件和 .c 文件,运行时总会发生如下错误 错误 C1083 无法打开包括文件: "XXX.h": No such f ...

  7. C++头文件(xxx.h)与源文件(xxx.cpp)的关系

    头文件是不能被编译的: "#include"为编译预处理指令,其作用:源文件(xxx.cpp)中的#include "xxx.h"指令将xxx.h 中的代码在编 ...

  8. Qt编译运行提示No rule to make target ‘xxx.h‘ needed by ‘xxx.o‘.Stop

    Qt编译运行提示No rule to make target 'xxx.h' needed by 'xxx.o'.Stop 今天使用Qt运行程序时突然报错No rule to make target ...

  9. Qt提升部件后编译报错:ui_xxx.h:fatal error 无法打开包括文件:“xxx.h”

    ui_xxxxx.h(26): fatal error C1083: 无法打开包括文件: "xxx.h": No such file or directory,但是xxx.h这个自 ...

最新文章

  1. android实现计算器功能吗,利用Android实现一个简单的计算器功能
  2. C# 乐观锁、悲观锁、共享锁、排它锁、互斥锁
  3. docker启动失败,报docker dead but pid file exists,处理方式
  4. 关于修改了virc(增加了:set nu)但是vim行号还是不显示的问题
  5. NXP UWB NCJ29D5开发(一)环境搭建
  6. mfc按钮名称怎么换行_MFC中解决回车键关闭窗口的一般方法
  7. Web API应用架构在Winform混合框架中的应用(3)--Winfrom界面调用WebAPI的过程分解...
  8. 数学建模之时间序列分析
  9. python龙格库塔_用python面向对象的方法实现欧拉算法和龙格库塔算法
  10. java 窗体音量调节,Mixer音量调节
  11. Radish 任务抢占系统
  12. 大连到日本出差/旅游注意事项
  13. 最新软件外包网站有哪些?
  14. 去年190家共享经济平台融资1159亿 共享汽车融资最多
  15. 机器学习 使用三分法找最优解参数
  16. 猿来小课Java视频教程讲师浅谈JAVA体系结构
  17. 计算机机房使用面积怎么算,如何建设电子计算机机房(一)
  18. 自制2.4G ELRS TX高频头, 内置于富斯i6
  19. python回声程序echo 一行代码_echo speex中的回声消除程序,可以直接在vs下运 效果还 有测试语料 Audio program 238万源代码下载- www.pudn.com...
  20. unity性能优化——Updata

热门文章

  1. java源文件构造中package语句必须在import语句后面,在一个Java源程序中,如果import语句、package语句、class语句都存在,则出现的次序应为_____。...
  2. Unity材质球个人学习笔记
  3. mysql数据库完整案例-“水果销售”
  4. 如何调换手机桌面位置_苹果ios14怎么自定义图标 图标位置自由排列换风格教程...
  5. 虚拟机与主机互传文件方法分享
  6. 记忆方法与快速阅读——最基础的快速阅读
  7. 写给未来的妻子--你
  8. Erlang安装 /开启关闭 /配置开发环境 /运行程序
  9. Labview上位机串口通信-读写
  10. a newbie in Porto Seguro’s Safe Driver Prediction(solo参赛 TOP 5%)