Qt实战之将自定义插件(minGW)显示到Qt Creator列表的方法

Qt以其强大的跨平台特性和丰富的功能,成为众多开发者构建图形用户界面(GUI)应用程序的首选框架。而在Qt开发的过程中,自定义插件能够极大地拓展应用程序的功能边界,让开发者实现各种独特的、个性化的交互效果。想象一下,如果能将这些自定义插件如同常用的控件(如QButton、QLabel等)一样,直观地显示在Qt Creator的列表中,开发者在设计UI界面时就可以更加便捷地调用,大大提高开发效率,同时也能让UI效果更加直观地呈现在眼前。接下来,本文将详细介绍两种实现这一目标的有效方式,都简单易操作!
方法一:使用MinGW版本的Qt Creator
方法二:使用Qt Designer

前提说明

在将这个自定义插件显示到Qt Creator列表之前,有一个关键的前提条件需要明确,那就是插件和Qt Creator/Qt Designer所使用的编译器必须保持一致。一般情况下,默认安装的Qt Creator是MSVC版本,如果你使用的插件是用MinGW编译的,那么通常情况下这个插件无法直接显示在Qt Creator的列表中。这是因为MSVC和MinGW是两种截然不同的编译工具链,它们在生成目标文件的格式、链接方式等方面存在着显著的差异,这就导致MSVC版本的Qt Creator无法直接识别和使用MinGW编译的插件。

我这里使用的是MinGW版本的QT5.14 ,默认Qt Creator版本是4.11(MSVC),以下描述均以此基础展开。

生成自定义插件的方法已经有很多博主进行了详细的阐述,因此在本文中我们就不再重复这部分内容。当你成功生成自定义插件后,会得到一个重要的文件——动态链接库(dll)。为了便于大家更好地理解后续的操作,我们以一个例子来说明,假设生成了一个名为“水球(waterball)”的自定义插件,最终生成的dll文件就是“waterballplugind.dll”。目的是把水球显示在控件列表中。

查看编译器版本

那么,如何才能知道自己的Qt Creator和Qt Designer使用的是哪种编译器呢?下面为大家介绍具体的查看方法:

  • Qt Creator:打开Qt Creator后,我们可以在菜单栏中找到“About Qt Creator”选项。点击它,会弹出一个窗口,在这个窗口中会显示编译器的相关信息。如果显示的是MSVC,那么使用的就是MSVC编译器。反之,MinGW编译器。
    在这里插入图片描述
    在这里插入图片描述

  • Qt Designer:对于Qt Designer,我们可以在QT的安装目录下找到相关线索。通常情况下,Qt Designer所使用的编译器和QT的编译器是一致的。你可以通过查看安装目录下的一些配置文件或者版本信息来确认具体使用的编译器。

  • 在这里插入图片描述

方法一:使用MinGW版本的Qt Creator

如果你希望使用MinGW版本的Qt Creator来显示自定义插件,有两种途径可供选择。一种是自己下载Qt Creator的源码进行编译,这种方式虽然可以让你根据自己的需求进行定制,但相对来说比较复杂,需要一定的技术功底和耐心。不过,还有一种更为简单的办法,那就是直接去下载已经编译好的MinGW版本的Qt Creator。从4.12.0版本之后,都有Windows下的MinGW版本,而且有的有绿色版本,意味着你只需要将其解压就可以直接使用,无需进行繁琐的安装步骤。在这里插入图片描述

链接:https://github.com/qt-creator/qt-creator/tags
我这里下载的是4.12.0

具体的步骤:

  1. 放置dll文件:首先,我们需要将自定义插件的dll文件放置到正确的目录下。具体来说,就是将“waterballplugind.dll”文件复制到your-QtCreator-minGW\bin\plugins\designer目录中。这里的“your-QtCreator-minGW”指的是你解压后的MinGW版本的Qt Creator所在的文件夹路径。
    在这里插入图片描述

  2. 打开设计插件窗口:完成文件放置后,打开Qt Creator,在菜单栏中依次选择“Tools”>“Form Editor”>“About designer plugins”。这一步操作会弹出一个窗口,显示当前Qt Creator所识别的设计插件信息。

  3. 刷新插件列表:在弹出的窗口中,我们可以看到已经加载的插件列表,Qt Creator会重新扫描插件目录,查找新添加的插件。刷新完成后,你就可以在列表中看到刚刚添加的自定义插件了。
    在这里插入图片描述

方法二:使用Qt Designer

如果你不想安装MinGW版本的Qt Creator,也不用担心,还有一种更加简便的方法,那就是使用Qt Designer。一般情况下,Qt Designer与QT的编译器是一致的,这就为我们显示自定义插件提供了便利条件。

接下来,我们看看具体的操作步骤:

  1. 放置dll文件:同样,我们需要先将自定义插件的dll文件放置到合适的位置。如果你的插件是64位的,那么就需要将“waterballplugind.dll”文件复制到64位对应的目录里,例如D:\Qt\Qt5.14.2\5.14.2\mingw73_64\plugins\designer。这里的路径需要根据你自己的QT安装目录进行相应的调整。

  2. 用Qt Designer打开.ui文件:在你的项目中找到.ui文件,右键点击该文件,在弹出的菜单中选择“用…打开”,然后在列表中选择Qt Designer。这样,就会使用Qt Designer打开.ui文件,进入UI设计界面。
    在这里插入图片描述

  3. 查看插件信息:在Qt Designer的菜单栏中,点击“帮助”>“关于插件”。这会弹出一个窗口,显示当前Qt Designer所识别的插件信息。

  4. 刷新插件列表:在弹出的窗口中,点击刷新按钮,Qt Designer会重新扫描插件目录。刷新完成后,你就可以在列表中看到自己的自定义插件了。此时,你就可以像使用其他常用控件一样,轻松地将自定义插件拖放到UI设计界面中,实现你想要的效果。
    在这里插入图片描述

经过测试也可以用同样的方法显示QWT的组件!如上图所示

通过上述两种方法,你可以轻松地将自定义插件显示到Qt Creator或Qt Designer的列表中,让你的开发过程更加便捷高效。希望这些内容能够对你的Qt开发工作有所帮助。

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

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

相关文章

java基础之枚举和注解

枚举 简介 枚举:enumeration,jdk1.5中引入的新特性,用于管理和使用常量 入门案例 第一步:定义枚举,这里定义一个动物类,里面枚举了多种动物 public enum AnimalEnum {CAT, // 猫DOG, // 狗PIG // …

2.3java运算符

运算符 1. 算术运算符 算术运算符用于执行基本的数学运算,像加、减、乘、除等。 运算符描述示例加法int a 5 3; // a 的值为 8-减法int b 5 - 3; // b 的值为 2*乘法int c 5 * 3; // c 的值为 15/除法int d 6 / 3; // d 的值为 2%取模(取余&…

升级 Spring Boot CLI

🌟 升级 Spring Boot CLI 1️⃣ 🔄 通过包管理器升级 使用对应包管理器命令(如 brew upgrade) 2️⃣ 📥 手动安装升级 遵循 标准安装说明 注意更新 PATH 环境变量移除旧版本路径 🔗 链接原文&#xff1a…

如何轻松将RS232转为Profibus DP,提升PLC效率?

如何轻松将RS232转为Profibus DP,提升PLC效率? 今天,我们就来聊聊一个工业自动化中常见的应用场景:如何通过兴达易控RS232转Profibus DP网关,实现流量泵与PLC(可编程逻辑控制器)的通信。这个话…

QT 连接数据库操作(15)

文章目录 一、本章说明二、QT连接云端数据库实现2.1 ODBC软件安装及参数设置2.2 软件代码实现三、项目源码文件一、本章说明 注:本节为【基于STM的环境监测系统(节点+云服务器存储+QT界面设计)】项目第15篇文章,前面已经创建了监测软件的登录窗口,接下来我们将在主窗口实…

linux系统之----命令行参数和环境变量

一、命令行参数 1.main()函数的参数 在C语言中,main函数可以接收命令行参数,其标准形式为: int main(int argc, char *argv[]) {// 程序代码return 0; } 这里我们解释一下: argc:参数个数计数器(Argum…

解析excel中的图片

解析excel中的图片 前言一、pom依赖二、使用步骤1.示例数据2.代码如下(示例): 总结 前言 初始化数据是,需要将excel中的数据解析并插入数据库。 但是某几列存放的是图片,这时候怎么办呢。 主要解决的是:获…

Unity任务系统笔记

数据结构设计 任务基类包括的字段: string 任务内容; Transform 任务目的地; MyCharacter 任务开启后要更新对话的NPC; MyTalkData 任务开启后相关NPC要说的对话数据; 共同方法:开启任务、完成任务。…

STM32的开发环境介绍

目录 STM32软件环境 Keil软件在线安装 其他软件环境安装 STM32开发的几种方式 STM32寄存器版本和库函数版本 标准外设库的作用: STM32软件环境 STM32 的集成开发环境(IDE):编辑编译软件 常见的环境: (1)KEIL&a…

【特殊场景应对9】视频简历的适用场景与风险分析

写在最前 作为一个中古程序猿,我有很多自己想做的事情,比如埋头苦干手搓一个低代码数据库设计平台(目前只针对写java的朋友),比如很喜欢帮身边的朋友看看简历,讲讲面试技巧,毕竟工作这么多年,也做到过高管,有很多面人经历,意见还算有用,大家基本都能拿到想要的offe…

Linux系统性能调优技巧分享

在数字化时代,Linux 系统以其开源、稳定、高效的特性,成为服务器、云计算、物联网等领域的核心支撑。然而,随着业务规模的扩大和负载的增加,系统性能问题逐渐凸显。掌握 Linux 系统性能调优技巧,不仅能提升系统运行效率,还能降低运维成本。下面从多个方面介绍实用的性能调…

关于Code_流苏:商务合作、产品开发、计算机科普、自媒体运营,一起见证科技与艺术的交融!

Code_流苏 🌿 名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 🌟 欢迎来到Code_流苏的CSDN主页 —— 与我一起&…

系统架构设计(三):质量属性

常见分类 一般来说,质量属性可以分为以下几类: 类别常见质量属性性能相关响应时间、吞吐量、资源利用率、实时性、可扩展性可用性相关可用性、高可用性(HA)、可靠性、容错性、恢复性可维护性相关可维护性、可测试性、可扩展性、…

【锂电池剩余寿命预测】GRU门控循环单元锂电池剩余寿命预测(Matlab完整源码)

目录 效果一览程序获取程序内容代码分享研究内容GRU门控循环单元在锂电池剩余寿命预测中的应用摘要关键词1. 引言1.1 研究背景1.2 研究现状与问题1.3 研究目的与意义2. 文献综述2.1 锂电池剩余寿命预测传统方法2.2 深度学习在锂电池寿命预测中的应用2.3 研究空白与本文切入点3.…

SpringCloud原理和机制

Spring Cloud 是一套基于Spring Boot的微服务开发工具集,它提供了在分布式系统环境下构建应用程序所需的一系列工具和服务。Spring Cloud旨在帮助开发人员快速构建一些常见的微服务模式,如服务发现、配置管理、智能路由、熔断器、微代理、控制总线等。 …

LeetCode -- Flora -- edit 2025-04-25

1.盛最多水的容器 11. 盛最多水的容器 已解答 中等 相关标签 相关企业 提示 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最…

有关图的类型的题目以及知识点(2)

1、具有5个顶点的有向完全图有20条弧。 2、若一个有向图用邻接矩阵表示,则第个结点的入度就是:第i列的非零元素的个数。 3、有向图的邻接矩阵可以是对称的,也可以是不对称的。 4、设N个顶点E条边的图用邻接表存储,则求每个顶点…

正则表达式的捕获组

是正则表达式中的一个重要概念,用于提取字符串中的特定部分 捕获组是通过正则表达式中的圆括号 () 定义的,它的作用是: 划分和标记:将正则表达式的一部分划分为逻辑单元。 提取数据:从字符串中提取符合组内模式的内容…

deepseek-cli开源的强大命令行界面,用于与 DeepSeek 的 AI 模型进行交互

一、软件介绍 文末提供程序和源码下载 deepseek-cli一个强大的命令行界面,用于与 DeepSeek 的 AI 模型进行交互。 二、Features 特征 Multiple Model Support 多模型支持 DeepSeek-V3 (deepseek-chat) DeepSeek-R1 (deepseek-reasoner)Dee…

Java—— 五道算法水题

第一题 需求: 包装类:键盘录入一些1~100之间的整数,并添加到集合中。直到集合中所有数据和超过200为止 代码实现: import java.util.ArrayList; import java.util.Scanner;public class Test1 {public static void main(String[]…