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

news2025/4/25 10:46:28

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.coloradmin.cn/o/2342350.html

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

相关文章

【Vue】TypeScript与Vue3集成

个人主页:Guiat 归属专栏:Vue 文章目录 1. 前言2. 环境准备与基础搭建2.1. 安装 Node.js 与 npm/yarn/pnpm2.2. 创建 Vue3 TypeScript 项目2.2.1. 使用 Vue CLI2.2.2. 使用 Vite(推荐)2.2.3. 目录结构简述 3. Vue3 TS 基础语法整…

Linux之七大难命令(The Seven Difficult Commands of Linux)

Linux之七大难命令 、背景 作为Linux的初学者,肯定要先掌握高频使用的指令,这样才能让Linux的学习在短时间内事半功倍。但是,有些指令虽然功能强大,但因参数多而让初学者们很害怕,今天介绍Linux中高频使用&#xff0…

5.3.1 MvvmLight以及CommunityToolkit.Mvvm介绍

MvvmLight、CommunityToolkit.Mvvm是开源包,他们为实现 MVVM(Model-View-ViewModel)模式提供了一系列实用的特性和工具,能帮助开发者更高效地构建 WPF、UWP、MAUI 等应用程序。 本文介绍如下: 一、使用(旧)的MvvmLight库 其特点如下,要继承的基类是ViewModelBase;且使用…

Dbeaver 执行 SQL 语句和执行 SQL 脚本的区别

执行 SQL 语句 执行 SQL 语句对应图标: 适用于执行单个 SQL 的情形,默认是在光标处或选中的文本上执行 SQL 查询。 实际上同时选择多个 SQL 并通过该方式去执行也可能成功,只是有失败的风险。因此不建议使用它来同时执行多个 SQL 语句。 情况…

《Python3网络爬虫开发实战(第二版)》配套案例 spa6

Scrape | Moviehttps://spa6.scrape.center/ 请求影片列表api时,不仅有分页参数,还多了一个token,通过重发请求发现token有时间限制,所以得逆向token的生成代码。 通过xhr断点定位到接口请求位置 刷新页面或者点翻页按钮&#x…

Python基础语法:字面量,注释,关键字,标识符,变量和引用,程序执行的3大流程

目录 字面量(数据的类型) 字面量的含义 常见字面量类型(6种) 输出各类字面量(print语句) 注释(单行和多行注释) 注释的作用 单行注释和多行注释 单行注释(ctrl/&a…

SPL 量化 获取数据

下载数据 我们将股票数据分享在百度网盘上供下载,每工作日更新。 目前可供下载的数据有 A 股的日 K 线数据、股票代码列表和上市公司的基本面数据 下载链接: 百度网盘 下载数据的文件格式为 btx,是 SPL 的特有二进制格式。 btx 称为集文…

Rust 学习笔记:安装 Rust

Rust 学习笔记:安装 Rust Rust 学习笔记:安装 Rust在 Windows 上安装 Rust命令行创建 Rust 项目在 Mac/Linux 上安装 Rust一些命令升级卸载cargo -hrustc -h 安装 RustRoverrust-analyzer Rust 学习笔记:安装 Rust 在 Windows 上安装 Rust …

编译 C++ 报错“找不到 g++ 编译器”的终极解决方案(含 Windows/Linux/macOS)

前言 在使用终端编译 C 程序时,报错: 或类似提示,意味着你的系统尚未正确安装或配置 g 编译器。本篇将从零手把手教你在 Windows / Linux / macOS 下安装并配置 g,适用于新手或 C 入门阶段的你。 什么是 g? g 是 GN…

html单页业务介绍源码

源码介绍 html单页业务介绍源码,源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行 效果预览 源码免费获取 html单页业务介绍源码

单体OJ项目

单体项目版本、微服务版还需我再钻研钻研。 项目介绍 在系统前台,管理员可以创建、管理题目;用户可以自由搜索题目、阅读题目、编写并提交代码。 在系统后端,能够根据管理员设定的题目测试用例在代码沙箱 中对代码进行编译、运行、判断输出是否正确。 其…

豆包桌面版 1.47.4 可做浏览器,免安装绿色版

自己动手升级更新办法: 下载新版本后安装,把 C:\Users\用户名\AppData\Local\Doubao\Application 文件夹的文件,拷贝替换 DoubaoPortable\App\Doubao 文件夹的文件,就升级成功了。 再把安装的豆包彻底卸载就可以。 桌面版比网页版…

【MySQL】索引失效问题详解

目录 1. 最左前缀原则 2. 条件左边有函数或运算 3. 隐式类型转换 4. LIKE 模糊查询以 % 开头 5、MySQL 优化器选择全表扫描 ⭐对 in 关键字特别说明⭐ (1)列表太大时,走全表扫描了 (2)隐式类型转换 &#xff…

优选算法第十讲:字符串

优选算法第十讲:字符串 1.最长公共前缀2.最长回文子串3.二进制求和4.字符串相乘 1.最长公共前缀 2.最长回文子串 3.二进制求和 4.字符串相乘

【扣子Coze 智能体案例四】五行八卦占卜智能体

目录 一、意图识别 二、时间格式转换 三、八字转换 四、八字提取 五、八字提取2 六、数据汇总 七、统计五行占比 八、雷达图生成 九、表格生成 十、AI占卜 十一、结束节点 一、意图识别 用户输入的信息包含各种时间格式的年月日时 用户输入的信息包含天干地支八字…

5.学习笔记-SpringMVC(P61-P70)

SpringMVC-SSM整合-接口测试 (1)业务层接口使用junit接口做测试 (2)表现层用postman做接口测试 (3)事务处理— 1)在SpringConfig.java,开启注解,是事务驱动 2)配置事务管理器(因为事务管理器是要配置数据源对象&…

【专题刷题】二分查找(一):深度解刨二分思想和二分模板

📝前言说明: 本专栏主要记录本人的基础算法学习以及LeetCode刷题记录,按专题划分每题主要记录:(1)本人解法 本人屎山代码;(2)优质解法 优质代码;&#xff…

硬核解析!电动汽车能耗预测与续驶里程的关键技术研究

引言 随着电动汽车的普及,续航里程和能耗表现成为用户关注的核心痛点。然而,表显续航与实际续航的差异、低温环境下的电量衰减等问题始终困扰着消费者。本文基于《电动汽车能耗预测与续驶里程研究》的实验成果,深入剖析电动汽车能耗预测的核心模型、多环境测试方法及续航里…

【OceanBase相关】01-OceanBase数据库部署实践

文章目录 一、前言1、介绍说明2、部署方案二、部署说明1、环境准备2、软件安装2.1、安装OAT2.2、安装OCP3、软件部署三、集群管理1、MySQL租户管理四、Q&A1、OBServer 服务器重启后 observer 进程未能自动启动1.1、问题说明1.2、解决措施2、ERROR 1235 (0A000) at line 1: …

详细讲解 QMutex 线程锁和 QMutexLocker 自动锁的区别

详细讲解 QMutex 线程锁和 QMutexLocker 自动锁的区别 下面我们详细拆解 Qt 中用于线程同步的两个核心类:QMutex 和 QMutexLocker。 🧱 一、什么是 QMutex? QMutex 是 Qt 中的互斥锁(mutex)类,用于防止多个…