qt6-error: invalid use of incomplete type ‘class Ui::Widget‘

news2024/11/28 9:34:00

背景

昨晚刚建立qt工程,点击运行,工作可以直接使用,但是早上点开工作,就出现type类型错误。有点奇怪。问题页面显示,问题主要就是ui::widget的类型错误。
在这里插入图片描述
这篇文章提醒我,昨晚因为在尝试修改一些参数时,将objectName的Widget修改为uart。这说明窗口的objectName直接映射到Widget.cpp的类定义中,并且这种修改是无法实时同步的。换言之,所有窗口控件的命名等修改,需要手动修改到文件端嘛?这种修改是否效率太低。
在这里插入图片描述
下图显示,运行的窗口界面是Widget,与objectName是一样的,所以猜想直接修改objectName,可以修改窗口的名字。但是右上角对象窗口显示,每添加一个控件,就会相应显示一个对象和类。如hello world字符的对象是lable,类是QLable。然而,修改这种对象的名字并不会改变程序窗口的hello world内容。换言之,修改objectName不会修改运行程序界面的显示内容。
在这里插入图片描述
打开widget.cpp文件,特意修改Ui::widget为Ui::wid,以同步ObjectName的命名。结果显示错误:Cannot initialize a member subobject of type 'Ui::Widget with an rvalue of type 'Ui::Wid

#include "widget.h"
#include "./ui_widget.h"

Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Wid)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

这个表达说明,Ui::Widget是工程建立后,实际存在type,objectName指代的内容是其 member subobject。objectName需要保持与这种type名的一致。

objectName与Ui:Widget同步

前面说到,修改objectName是无法同步Widget.cpp文件中的Ui::的这个描述。但是当然选择直接右键点击修改对象名称时,却实现了这种同步效果。说明修改objectName的效果是有限的,需要直接右键修改。
在这里插入图片描述
关于如何修改运行窗口的名字,属性页面中的windowTitle可以实现这种效果。
在这里插入图片描述

后记:这个文章提醒我,从错误中学习的可行中。每次出现这种微小的错误,都可以由此出发, 通过实践和逻辑分析,收获新的理解。这种把错误当成踏脚石的观念可以比较好的提升学习效率。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1166540.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Flutter 手把手国际化

1.导入依赖 flutter:sdk: flutterflutter_localizations:sdk: flutterintl: any2.安装插件Flutter Intl Android Studio > File > Settings > Plugins 搜索Flutter Intl 并安装和重启Android Studio生效 3.通过插件初始化并配置语言 Android Studio > Tools >…

【已解决】在linux部署出现java文件操作报错:java.io.FileNotFoundException

1.报错场景: 其中的 ip2region.xdb 文件是放在 resources 文件夹中的,然后在一个工具类里面读取这个文件,在开发环境中的是这样读取的: ClassPathResource resource new ClassPathResource("ip2region.xdb");//获取真…

NI-9505 嵌入式行业领先的流量校准测量算法

NI-9505 嵌入式行业领先的流量校准测量算法 基岩自动化公司,基岩OSA自动化平台的制造商,已经将流量计算机功能集成到OSA平台中。奥萨流程系列嵌入流量校准基岩自动化平台中的测量应用。Flow-Cal的软件是流量测量和生产核算数据的选择。 奥萨所有基岩控…

基于Python的豆瓣电影排行榜,可视化系统

1 简介 基于Python flask 的豆瓣电影数据获取,数据可视化系统,本系统朱亚奥包括了影视系统的爬虫与分析。影视是人们娱乐、放松心情的重要方式之一,因此对影视的分析具有重要的现实意义。通过采用Python编程语言,使用flask框架搭…

内部福利!双11百度文心一言底层的千帆大模型免费试用!

内部福利,现在可以免费试用,而且额度超高。双11福利 个人大模型平台新用户:50元;限量1000张;限时一个月使用 企业大模型平台新用户:200元;限量200张;限时一个月使用 EB4对标GPT4 …

GoLong的学习之路(十七)基础工具之GORM(操作数据库)(更新Update)

书接上回,上回写道,GORM的查询和创建(插入数据),这回继续些增删改查的改和删的操作。 文章目录 更新update修改单个列修改多个列修改选定字段批量更新新阻止全局更新 使用 SQL 表达式更新注意 根据子查询进行更新不使用…

Spring boot 整合 JWT

系列文章目录 第一章 Java线程池技术应用 第二章 CountDownLatch和Semaphone的应用 第三章 Spring Cloud 简介 第四章 Spring Cloud Netflix 之 Eureka 第五章 Spring Cloud Netflix 之 Ribbon 第六章 Spring Cloud 之 OpenFeign 第七章 Spring Cloud 之 GateWay 第八章 Sprin…

【WinForm详细教程六】WinForm中的GroupBox和Panel 、TabControl 、SplitContainer控件

文章目录 1.GroupBox和Panel2.TabControl3.SplitContainer 1.GroupBox和Panel GroupBox:是一个分组容器,提供一个框架将相关的控件组织在一起,它有标题、边框,但没有滚动条。 Panel:也是一个容器控件,用来…

Git GitHub同步失败

文章目录 错误解决方案第一步第二步第三步第四步第六步第七步 错误 昨天晚上提交代码到GitHub时遇到了这个错误。 remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.字面大体意思就是你原先的密码凭…

预约按摩小程序开发优势;

在快节奏和高压社会中,按摩已成为许多人缓解压力和保持健康的重要方式,各地的按摩店也是随处可见,而为了能够更好地提供服务,很多按摩店都引入了小程序应用。今天我们就主要了解一下按摩店小程序具体有什么用,能够提供…

【iOS免越狱】利用IOS自动化WebDriverAgent实现自动直播间自动输入

1.目标 由于看直播的时候主播叫我发 666,支持他,我肯定支持他呀,就一直发,可是后来发现太浪费时间了,能不能做一个直播间自动发 666 呢?于是就开始下面的操作。 2.操作环境 iPhone一台 WebDriverAgent …

CAD操作技巧学习总结

1&#xff0c;已知一个圆&#xff0c;画该圆切线。 L命令画直线&#xff0c;再tan指令确定第一个点为切点&#xff0c;依次输入&#xff08;长度&#xff09;<&#xff08;角度&#xff09;&#xff0c;如55<-45,负号为顺时针。 2&#xff0c;中心点偏移。 O命令偏移&am…

再学一点mybatis(原理分析)

文章目录 [TOC](文章目录) 一、mybatis是什么&#xff1f;1. Mybatis的特点以及优缺点 二、mybatis架构1.基本架构2.重要组件 三、原理1. SQL解析2. Mapper接口3. 动态代理4. SQL执行4.1 Executor4.2 StatementHandler4.3 ParameterHandler4.4 ResultHandler 文章内容有点长&am…

【蓝桥每日一题]-二分精确(保姆级教程 篇4) #kotori的设备 #银行贷款 #一元三次方程求解

今天讲二分精确题型 目录 题目&#xff1a;kotori的设备 思路&#xff1a; 题目&#xff1a;银行贷款 思路&#xff1a; 题目&#xff1a;一元三次方程求解 思路&#xff1a; 题目&#xff1a;kotori的设备 思路&#xff1a; 求&#xff1a;设备最长使用时间 二分查找&#…

Linux难学?大神告诉你,Linux到底该怎么自学!

文章目录 前言一、明白这些道理&#xff0c;Linux 就不难学二、五步学会 Linux 命令行&#xff0c;用好这本手册三、Linux 学习进阶之路 前言 知乎上有一条热门问答&#xff0c;问题是 “Linux为什么那么难&#xff1f;” 从问题来看&#xff0c;提问者还处在初学阶段。但他显…

Centos7扩容

Centos7扩容 保证虚拟机关机且没有快照的情况下按照下图进行操作&#xff1a; 设置好后开机&#xff0c;查看分区情况&#xff1a; [rootlocalhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 17G 12G 5.4G 69% / …

21款奔驰GLS450升级23P驾驶辅助 智驾出行

驾驶辅助和自动驾驶的区别就是需要人为去接管&#xff0c;虽然车辆会根据道路自己行驶&#xff0c;弯道上也能居中自动修正行驶&#xff0c;长时间不接管方向盘&#xff0c;系统会提示人为接管&#xff0c;这就是奔驰的23P驾驶辅助系统&#xff0c; 很多车友升级23P驾驶辅助系…

Git统计个人提交代码行数

目录 一、git bash打开二、查看个人提交的代码行数统计三、查看项目每个人提交的代码行数统计四、查询所有用户的提交总次数五、统计用户一段时间内的提交代码量 在实际开发中&#xff0c;常常会想查看自己对于某个项目的贡献&#xff0c;管理者会查看项目下各成员的贡献&#…

mysql、clickhouse时间日期加法

mysql 在’2023-10-27 23:59:59’上增加5秒&#xff1a; SELECT DATE_ADD(2023-10-27 23:59:59, INTERVAL 5 second);clickhouse SELECT date_add(SECOND, 3, toDate(2018-01-01 00:00:00));clickhouse时间按秒、分、时、日、月、年作差 按秒&#xff1a; SELECT dateDiff…

【DataGrip使用小技巧】

在日常开发中无论是连接数据库也好&#xff0c;编写代码也好都是通过DataGrip来实现的&#xff0c;在开发过程中有一些小技巧的使用可以使开发变得高效便捷。 【非常实用】要快速查看插入符号处的表或列的文档,请按 ctrl Q(查看快速文档)。 可以显示首几行的数据&#xff0c…