把其他.ui文件拿到我的工程中使用

在Qt工程中使用工程外的ui文件的方式:作为一个类直接使用、包含到自己的类中或继承使用
将ui文件添加到工程中,作为一个类以直接使用

注:这里指使用原本不属于该工程的ui文件

第一步:在工程文件.pro中添加UI文件
在.proj文件中添加:

FORMS += PATH/ui_file_1.ui  \PATH/ui_file_2.uiFORMS表示添加ui文件到本工程中
对于多个UI文件,使用续航符’\’来连接多行

注意:应该对UI文件执行uic命令,以生成UI对应的.h文件,在.h文件中有命名空间Ui及其内部包含的ui类名称,这个命名空间和类名称可以在源文件中用来引用UI对象
第二步:在代码中引用UI文件对象

class MyClass : public QWidget
{Q_OBJECT
public:MyClass();private:Ui_Foo ui;
};

第二步:在该类的构造函数中setupUi()

MyClass::MyClass(QWidget* parent) : QWidget(parent)
{ui.setupUi(this);   //初始化并加载ui文件...;
}

**实质:将UI文件对应的ui类(通过uic工具从ui文件转得.h文件)包含到自己的类里面作为private成员来使用
继承ui对象
注意:一般来说,为了软件架构良好设计,一般不使用多继承(避免耦合、复杂性等),非用不可,应该考虑使用多次单继承来替代。

当类继承了ui类后,由于本身需要继承QWidget等类,因此为多继承。**

第一步:在自定义的类中继承Ui类
注意:Qt多继承必须将Qt库的类放到第一个,因为Qt默认要求第一个类为QObject的子类

class MyClass : public QWidget , public Ui_Foo  //多重继承
{Q_OBJECT
public:MyCLass(QWidget * parent = 0);
...
};

第二步:在构造函数中增加ui.setupUi(this)初始化Ui文件
由于继承了Ui类,即Ui类的所有方法被继承,可以直接使用而不用加上实例名称:如使用setupUi(this)而不是ui.setupUi(this)。

总结
都需要利用uic文件来将ui文件转换为C++源文件
都是通过ui类来引用UI文件对象
都需要在工程文件.pro中添加FORMS表示添加ui文件

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/realdonaldtrump/article/details/78212095

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

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

相关文章

每日一题——第一百一十七题

题目&#xff1a;使用二分查找&#xff0c;查找一个数是否存在于一个升序数组中 #include <stdio.h>int binarySearch(int arr[], int length, int elem);int main() {int arr[] { 2, 3, 4, 5, 6, 7, 8, 9, 10 };int key;int length sizeof(arr) / sizeof(arr[0]);pri…

Palo Alto Networks Expedition 未授权SQL注入漏洞复现(CVE-2024-9465)

0x01 产品介绍&#xff1a; Palo Alto Networks Expedition 是一款强大的工具&#xff0c;帮助用户有效地迁移和优化网络安全策略&#xff0c;提升安全管理的效率和效果。它的自动化功能、策略分析和可视化报告使其在网络安全领域中成为一个重要的解决方案。 0x02 漏洞描述&am…

windows下安装、配置neo4j并服务化启动

第一步&#xff1a;下载Neo4j压缩包 官网下载地址&#xff1a;https://neo4j.com/download-center/ &#xff08;官网下载真的非常慢&#xff0c;而且会自己中断&#xff0c;建议从以下链接下载&#xff09; 百度网盘下载地址&#xff1a;链接&#xff1a;https://pan.baid…

FFMPEG录屏(17)--- 使用 DwmRegisterThumbnail 捕获指定窗口图像数据

使用 DwmRegisterThumbnail 捕获指定窗口图像数据 在 Windows 平台上&#xff0c;捕获指定窗口的图像数据可以通过多种方法实现&#xff0c;其中一种高效的方法是使用 [DwmRegisterThumbnail] 本文将介绍如何使用 [DwmRegisterThumbnail] 捕获窗口图像数据&#xff0c;并提供一…

Mysql中表字段VARCHAR(N)类型及长度的解释

本文将针对MySQL 中 varchar (N)类型字段的存储方式进行解释&#xff0c;主要是对字符和字节的关系的理解。 1. varchar (N) 中的 N varchar (N) 中的 N 表示字符数&#xff0c;而不是字节数。这意味着 N 表示你可以存储多少个字符。 字符数&#xff1a;指的是字符的个数&…

计算机视觉在疲劳检测中的应用

计算机视觉在疲劳检测中的应用 引言 随着科技的飞速发展&#xff0c;计算机视觉技术已经广泛应用于各个领域&#xff0c;其中疲劳检测是近年来备受关注的一个研究方向。疲劳检测旨在通过计算机视觉技术&#xff0c;实时分析个体的面部特征、动作以及生理信号等&#xff0c;判…

周易解读:八卦02,八卦所代表的基本事物

八 卦02 上一节&#xff0c;我是讲完了八卦的卦象的画法的问题。这一节&#xff0c;我来尝试着去讲解八卦所代表的自然事物。 八卦是谁发明的呢&#xff1f;根据《周易说卦传》的说法&#xff0c;八卦是伏羲发明的。伏羲氏仰观天文&#xff0c;俯察地理&#xff0c;从中提取…

项目模块二:日志宏

一、代码展示 二、补充知识 1、LOG(level, format, ...) format 是用于宏识别格式化&#xff0c;类似于 printf("%s", str); 里面的 "%s" ... 不定参&#xff0c;传入宏的参数除了 level, format, 还有不确定个数的参数。 2、红色 \ 由于宏只能写在一…

PyTorch深度学习入门汇总

PyTorch 是由 Facebook 的人工智能研究小组开发的深度学习框架&#xff0c;可以基于PyTorch开发和训练各种深度学习模型。自 2016 年问世以来&#xff0c;PyTorch 因其灵活性和易用性而受到深度学习从业者的极大关注。 汇总目录 基于conda包的环境创建、激活、管理与删除 Pyt…

链上相遇,节点之间的悸动与牵连

公主请阅 1. 返回倒数第 k 个节点1.1 题目说明1.2 题目分析1.3 解法一代码以及解释1.3 解法二代码以及解释 2.相交链表2.1 题目说明示例 1示例 2示例 3 2.2 题目分析2.3 代码部分2.4 代码分析 1. 返回倒数第 k 个节点 题目传送门 1.1 题目说明 题目名称&#xff1a; 面试题 02…

15分钟学 Go 第 10 天:函数参数和返回值

第10天&#xff1a;函数参数和返回值 目标&#xff1a;理解函数如何传递参数 在Go语言中&#xff0c;函数是程序的基本构建块。了解如何传递参数和返回值是编写高效、可复用代码的重要步骤。本文将详细讲解函数参数的类型、传递方式以及如何处理返回值&#xff0c;辅以代码示…

用C++编写一个简单的游戏引擎:从游戏循环到物理与渲染的全面解析

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 构建一个基础的2D游戏引擎是一项富有挑战性但极具学习价值的任务。本文将通过从零开始的方式,逐步讲解如何使用C++开发一个简单的游戏引擎。内容涵盖了游戏引擎的核心架构设计,包括游戏循环、物理引擎和图形渲染…

DP—子数组,子串系列 第一弹 -最大子数组和 -环形子数组的最大和 力扣

你好&#xff0c;欢迎阅读我的文章~ 个人主页&#xff1a;Mike 所属专栏&#xff1a;动态规划 ​ 53. 最大子数组和 最大子数组和 ​ 分析: 使用动态规划解决 状态表示: 1.以某个位置为结尾 2.以某个位置为起点 这里使用以某个位置为结尾&#xff0c;结合题目要求&#…

MySQL8.0主从同步报ERROR 13121错误解决方法

由于平台虚拟机宿主机迁移&#xff0c;导致一套MySQL主从库从节点故障&#xff0c;从节点服务终止&#xff0c;在服务启动后&#xff0c;恢复从节点同步服务&#xff0c;发现了如下报错&#xff1a; mysql> show slave status\G; *************************** 1. row *****…

GDAL+C#实现矢量多边形转栅格

1. 开发环境测试 参考C#配置GDAL环境&#xff0c;确保GDAL能使用&#xff0c;步骤简述如下&#xff1a; 创建.NET Framework 4.7.2的控制台应用 注意&#xff1a; 项目路径中不要有中文&#xff0c;否则可能报错&#xff1a;can not find proj.db 在NuGet中安装GDAL 3.9.1和G…

OSI参考模型详解:初学者指南与实践案例

OSI参考模型详解&#xff1a;初学者指南与实践案例 OSI&#xff08;Open System Interconnect&#xff09;参考模型是一个由国际标准化组织&#xff08;ISO&#xff09;提出的七层网络分层模型&#xff0c;它为全球所有互联计算机系统提供了一个通用的通信框架&#xff0c;解决…

【Mysql】-锁机制-GAP锁

在 MySQL 的 InnoDB 存储引擎中&#xff0c;Gap 锁&#xff08;间隙锁&#xff09;是一种用于防止幻读的锁机制。幻读是指在一个事务中&#xff0c;多次执行相同的查询&#xff0c;结果集却不同&#xff0c;通常是由于其他事务插入了新的行。为了防止这种情况&#xff0c;InnoD…

无人机之自主飞行关键技术篇

无人机自主飞行指的是无人机利用先进的算法和传感器&#xff0c;实现自我导航、路径规划、环境感知和自动避障等能力。这种飞行模式大大提升了无人机的智能化水平和操作的自动化程度。 一、传感器技术 传感器是无人机实现自主飞行和数据采集的关键组件&#xff0c;主要包括&a…

软考-软件设计师(10)-专业英语词汇汇总与新技术知识点

场景 以下为高频考点、知识点汇总。 软件设计师上午选择题知识点、高频考点、口诀记忆技巧、经典题型汇总: 软考-软件设计师(1)-计算机基础知识点:进制转换、数据编码、内存编址、串并联可靠性、海明校验码、吞吐率、多媒体等: 软考-软件设计师(1)-计算机基础知识点:进制…

C语言复习第3章 函数

目录 一、函数介绍1.1 函数是什么1.2 C语言中函数的分类1.3 函数原型1.4 高内聚 低耦合1.5 C语言main函数的位置 二、函数的参数2.1 实参和形参2.2 函数的参数(实参)可以是表达式2.3 传值与传址(swap函数)2.4 明确形参是实参的临时拷贝2.5 void(如果不写函数返回值 默认是int)2…