Qt中报错error: allocation of incomplete type ‘Ui::MainXXXX‘

2023-10-31

Qt中报错error: allocation of incomplete type ‘Ui::MainXXXX’

可能原因

一、类关联问题

是你的类设计头文件源文件和ui文件的关联可能有问题,解决方案如下:
原文链接

每次在Qt中单独添加UI文件的时候,都会遇到这个问题。需要注意的点如下:
切记要与类名保持一致

举个栗子我的类名叫

  • CMainWidget

那我的文件名就叫

  • cmainwidget.h
  • cmainwidget.cpp
    那需要在cmainwidget.h头文件中添加
  • namespace Ui {
    class cmainwidget;
    }
    

在cmainwidget.cpp添加

  • #include "ui_cmainwidget.h"

添加私有成员变量

  •   private:
      Ui::cmainwidget* ui;
    

初始化成员变量

  • ui(new Ui::cmainwidget)

构造函数中

  •   ui->setupUi(this);
    

最重要的一点

  • 别忘了把cmainwidget.ui中的widget名字改成cmainwidget这个最重要!
  • 也就是设计页面中创建的对象的名称,右上角对象树图中可以看到
  • QObjectname

二、主窗口冲突

因为在一个工程中不能同时有两个MainWindow类,如果你的工程中有两个QMainWindow类,也会出现这种问题
我们可以简单粗暴点判断
如果有多个,看一下从QMainWindow继承下来的类的头文件中是否有namespace关键字
比如我的一个主窗口为MainScene,那么头文件中可能会有该关键字

namespace Ui {
    class MainScene;
}

一个项目中若有多个主窗口继承下来的类,按道理其中应该只有一个会有namespace

三、常见低级错误

可能在开发图中修改过文件名,若修改过文件名,一定要确保相关的头文件包含正确
因为可能开发途中Debug版的即使包含有点问题,也不一定会报错,但是当切换到Release版的时候,这个错误就会表现出来了

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Qt中报错error: allocation of incomplete type ‘Ui::MainXXXX‘ 的相关文章

  • .NET 单点登录

    我一直在尝试使用 C 为 NET Web 应用程序实现 WEB SSO 服务提供程序插件 我将使用 shibboleth 身份提供商 我已经使用 OpenSAML 库为 java 应用程序实现了相同的功能 我想知道在 NET 应用程序中使用
  • fopen_s 怎么会比 fopen 更安全呢?

    我正在处理遗留代码Windows平台 当我编译代码时VS2013 它给出以下警告 错误 C4996 fopen 该函数或变量可能不安全 考虑使用fopen s反而 要禁用弃用 请使用 CRT SECURE NO WARNINGS 详情请参见
  • 自动映射器多对多 stackoverflowException

    我遇到以下映射的堆栈溢出 Mapper CreateMap
  • 将公历日期转换为儒略日期,然后再转换回来(随着时间)

    我正在编写一个程序 必须将当前的公历日期和时间转换为儒略日期 然后再转换回公历门 最终我需要添加能够添加年 月 日 小时 分钟和秒的功能 但我需要先解决这部分问题 现在我已经从公历日期转换为儒略日期 所以从逻辑上讲 我觉得我应该能够以某种方
  • 使用 C# 将多个音频样本混合到单个文件中

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找一个能够创建音频文件 mp3 或 wav 的库 NAudio http www codeple
  • 局部函数声明有什么用处吗?

    大多数像我这样的 C 程序员都曾犯过以下错误 class C int main C c declares a function c taking no arguments returning a C not as intended by m
  • Dapper 在执行时挂起

    我有一个 IDb连接 sql UPDATE 表名 SET json json lastupdate SYSDATE WHERE id id var param new DynamicParameters param Add json jso
  • 为什么子函数不销毁GtkWindow?

    这是我的代码 void window first void enter window2 GtkWidget w gpointer data void quit GtkWidget w gpointer data void quit int
  • ContentDialog 未与 UWP 中心对齐

    据我所知 ContentDialog的默认行为应该是使其在 PC 上居中并在移动设备上与顶部对齐 但就我而言 即使在 PC 上我也将其与顶部对齐 但我不明白发生了什么 我正在使用代码隐藏来创建它 这是我正在使用的代码片段 Creates t
  • Monotouch全局异常处理

    我在野外发现了一只令人讨厌的虫子 但我无法确定它的具体情况 有没有办法拥有全局 Try Catch 块 或者有办法处理 Monotouch 中未处理的任何异常 我可以包起来吗UIApplication Main args 在 try cat
  • opencv中如何去除二值图像噪声?

    将图像转换为二值图像 黑白 后如果有任何噪音怎么办 我消除了那些不需要的噪音 您可以看到下图的黑色区域内有一些白噪声 我该如何去除噪声 使用opencv http img857 imageshack us img857 999 blackn
  • Visual Studio 中列表框的上移、下移按钮[重复]

    这个问题在这里已经有答案了 我正在尝试制作一个上移按钮和一个下移按钮 以移动 Microsoft Visual Studio 2012 中列表框中的选定项目 我已经在 WDF jquery winforms 和其他一些表单中看到了其他示例
  • 如何减少 MinGW g++ 编译器生成的可执行文件的大小?

    我有一个简单的 Hello world C 程序 在 Win XP 下由 MinGW g 编译器编译为 500kB 可执行文件 有人说这是由于iostream的库和静态链接libstdc dll Using s链接器选项有点帮助 减少了 5
  • 当需要不同数量和类型的参数时如何创建操作委托列表

    我们有一组大约两打的类 它们继承自具有抽象 Validate 方法的基类 当然 每个类都有不同的验证需求 但它们之间的不同组合需要规则 因此 正如您可以想象的那样 这导致了大量代码重复 例如 A 类需要规则 1 3 6 和 9B 类需要规则
  • Gremlin.net 文本包含等效项

    我正在使用 Gremlin net 库连接到 janus 图形服务器 我使用 cassandra 和弹性搜索进行数据存储和索引 在我使用的 gremlin 语言和 gremlin 控制台中文本包含在属性的文本中进行搜索 我正在使用混合索引
  • 选择合适的IDE

    您会推荐使用以下哪种 IDE 语言来在 Windows 下开发涉及识别手势并与操作系统交互的项目 我将使用 OpenCV 库来执行图像处理任务 之后 我将使用 win32 API 或 NET 框架与操作系统交互 具体取决于您建议的工具 性能
  • C 变量声明的效率 [重复]

    这个问题在这里已经有答案了 例如 在 C 中声明一个变量需要多长时间int x or unsigned long long var 我想知道它是否会让我的代码在类似的事情中更快 for conditions int var 0 code 这
  • Xcode 7 调试器不会中断内联标头函数

    过去五年我一直在各种 C 项目中使用 Xcode 没有出现这个问题 今天 我打开了一个较旧的项目 大约 2 年前 并尝试通过在该函数中放置一个活动断点来调试头文件中的内联函数 由于某种原因 调试器不会中断此代码 但是 如果我在调用该函数的
  • 具有四个 && 的 LINQ Where 子句

    我正在尝试在Where 子句中创建一个带有4 个参数的LINQ 查询 这是一个 Windows 8 应用程序项目 我正在使用 SQLite 数据库 SQLite 实现 https github com praeclarum sqlite n
  • 使用 CodeDOM 将程序集添加到 BuildManager 会导致间歇性错误

    我正在使用 CodeDOM 在运行时创建内存中程序集 如下所示 public Assembly Compile CodeCompileUnit targetUnit string path Path GetDirectoryName new

随机推荐

  • StreamingAsset文件夹

    Unity中的大部分资源在发布时都被整合到工程中 我们不能访问 但有时我们需要通过路径名访问放在目标设备中的文件 这些文件被存储在目标设备的文件系统中 在Unity工程中 放在StreamingAssets文件夹中的任何资源都将被原样复制到
  • 使用Docker安装Elasticsearch和大数据

    在本教程中 我们将探索如何使用Docker容器化技术安装和配置Elasticsearch ES 和大数据处理工具 Elasticsearch是一个强大的开源搜索和分析引擎 而大数据处理工具则提供了对大规模数据集的处理和分析能力 通过将它们与
  • 2023-5-31第三十一天

    conform顺从 遵从 一致 squeeze挤压 proprietary专卖权 专利的 所有的 endeavor努力 尽力 comprise由 组成 包含 compose组成 写作 compact小型的 consult咨询 查阅 expa
  • Linux CentOS 7 安装mongoDB

    安装之前准备工作 环境说明 1系统虚拟机信息 CentOS7 X86 64位 2软件及版本 mongodb linux x86 64 3 6 3 tgz Xshell工具 MongoDB 提供了 linux 各发行版本 64 位的安装包 你
  • string容器

    string容器 构造和析构 string容器的设计目标 strinf容器的操作 构造和析构 void testOne cout lt lt 显示string中字符数组的最大长度 lt lt endl cout lt lt string n
  • AOP(Aspect-oriented programming,面向切面编程)

    概述 面向切面的程序设计 Aspect oriented programming AOP 是CS计算机科学中的一种程序设计泛型 旨在将横切关注点与业务主体进行进一步分离 以提高程序代码的模块化程度 其可以通过预编译方式和运行期动态代理实现在
  • VSCODE的安装与配置Anaconda环境

    1 下载安装包安装 推荐 最新版本的Anaconda没有VSCODE因此可以直接百度VSCODE进行安装 a VSCODE的下载 直接加载VSCODE的官网https code visualstudio com 点击Download for
  • Shell脚本中引用另一个脚本文件

    在Shell中要调用别的shell脚本或别的脚本中的变量有一下两种方式 方法一 使用点号 subscript sh 方法二 使用source source subscript sh 注意 1 两个点之间 有空格 2 两个脚本不在同一目录 要
  • 用GLM来读取显示有纹理的OBJ

    注意这里的GLM不是OPENGL MATHAMATICS LIBRAR 而是an Alias Wavefront OBJ file library 用来操作OBJ文件的一个库 这里用其来读取带纹理的OBJ文件并显示出来 1 下载GLM库 h
  • 括号生成(结合Catalan数详细分析)

    题目 给出n代表生成括号的对数 请你写出一个函数 使其能够生成所有可能的并且有效的括号组合 例如 给出n 3 生成结果为 PS 本题源自 leetcode 22 理论基础 Catalan数 卡特兰数 Catalan数列是序列 C 0
  • Win10 下 ProtoBuf 安装编译以及在 C++ 中的用法

    ProtoBuf Protocol Buffer protoBuf 或 PB 是 google 的一种数据交换的格式 它独立于语言 独立于平台 google 提供了多种语言的实现 java c c go 和 python 每一种实现都包含了
  • CSS 层叠顺序

    参考文章 一篇通俗易懂的 CSS 层叠顺序与上下文 http mp weixin qq com s biz MzAxODE2MjM1MA mid 2651551373 idx 2 sn f4308981b08c1e347ed021a5afc
  • 【单片机基础】(一)从硬件的角度解读与门、或门、非门、与非门

    1 高电平和低电平 数字电路中 由TTL电子元器件组成电路使用的电平 电平是个电压范围 规定输出高电平 gt 2 4V 输出低电平 lt 0 4V 在室温下 一般输出高电平是3 5V 输出低电平是0 2V 最小输入高电平和低电平 输入高电平
  • 解决: Gitee 自已提交的代码提交人头像为他人、码云上独自开发的项目显示为 2 个开发者

    前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到教程 1 我的情况 项目一直只有我一个开发者 却莫名的出来了一个完全不认识的开发者 我新建后 push 的所有项目都变成了开发者有 2 个人 多出一
  • TensorFlow学习笔记02:使用tf.data读取和保存数据文件

    TensorFlow学习笔记02 使用tf data读取和保存数据文件 使用 tf data 读取和写入数据文件 读取和写入csv文件 写入csv文件 读取csv文件 读取和保存TFRecord文件 TFRecord基础API Exampl
  • Google Protocol Buffer

    hadoop的writable模式持久化接口 什么是 Google Protocol Buffer 假如您在网上搜索 应该会得到类似这样的文字介绍 Google Protocol Buffer 简称 Protobuf 是 Google 公司
  • Qt中常用宏定义

    1 Q UNUSED variable 定义但没有使用的变量在编译的时候有Warning提示 使用Q UNUSED variable 后可以屏蔽这类警告 2 Q ASSERT boolvalue 在Debug模式下 如果输入值为true 什
  • 敏感词过滤-DFA算法

    目录 DFA算法简介 Java实现DFA算法实现敏感词过滤 测试方法 创建DFAMap 根据DFAMap进行检验 完整代码 与前缀树的类似与不同 类似 不同 复杂度 DFA算法简介 在实现文字过滤的算法中 DFA是唯一比较好的实现算法 DF
  • Java Swing图书管理系统,界面漂亮、功能全,直接使用 窗体版本-400

    今天为大家分享一个java语言编写的图书管理程序 400 目前系统功能已经很全面 后续会进一步完善 整个系统界面漂亮 有完整得源码 希望大家可以喜欢 喜欢的帮忙点赞和关注 一起编程 一起进步 开发环境 开发语言为Java 开发环境Eclip
  • Qt中报错error: allocation of incomplete type ‘Ui::MainXXXX‘

    Qt中报错error allocation of incomplete type Ui MainXXXX 可能原因 一 类关联问题 是你的类设计头文件源文件和ui文件的关联可能有问题 解决方案如下 原文链接 每次在Qt中单独添加UI文件的时