上位机图像处理和嵌入式模块部署(改进的qmacvisual动态插件卸载)

news2024/11/24 9:22:14

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

        前面我们讨论过,qmacvisual虽然提供了很多的功能,包括的种类很多,但是总有一些功能是客户希望定制的。这些都是难免的。这个时候,就需要自己编写代码来实现相关功能。目前,在qmacvisual上面是通过扩展库容器和扩展插件来实现的。使用上还是非常方便的。

        但是呢,这里面还是存在一个小问题,个人觉得使用上面有待改进。那就是如果需要扩展库来加载扩展插件的时候,如果插件有一些bug需要处理、修改代码的时候,想重新加载的话是没法做到的,因为根本没有办法编译成功。这里面最主要的原因,就是qmacvisual还在加载dll文件,所以,这个时候就需要关闭qmacvisual,才能重新编译、重新加载,这在使用上面就特别不方便。所以,我们可以在作者原来的基础之上,修改相关的功能,这样使用起来更方便。

1、添加一个按钮

        之前扩展库上面是没有卸载按钮的,这个时候就需要在ui界面添加一个卸载按钮。这一步可以通过qt designer来完成。

        如图所示,我们添加了一个clear按钮,大家先忽略它的背景颜色。这个按钮最主要的功能就是卸载dll。

2、在frmExtensionLibrary.h添加变量

        之前动态库加载的时候都是通过临时变量实现的。所以,我们需要把局部变量QLibrary mylib提炼到头文件当中。并且,还需要添加相应的头文件声明,

#include <QLibrary>

        当然,还有一个函数声明,这个后面再说。

void on_btnClear_clicked();

3、更新frmExtensionLibrary.cpp文件

        在cpp文件当中有两个地方需要设置。第一,就是需要把file_name换一种方式加载,即mylib.setFileName(file_name)。之前都是直接类声明的时候就创建好了的。第二,就是给刚才的按钮添加回调函数。它的功能就是卸载dll文件。当然相应的函数声明,也是要在h文件中添加一下的。

void frmExtensionLibrary::on_btnClear_clicked()
{
	if (!dirPath.isNull())
	{
		if (frmPage)
		{
			delete frmPage;
			frmPage = NULL;
		}

		mylib.unload();
		dirPath = "";
	}
}

        大家如果细心一点,应该发现这里没有用connect进行bind,这其实是qt的一个trick。只要符合一定的规则,系统可以自己找到对应的回调函数的。

4、测试和验证

        测试的话,就相对比较简单的。一开始我们按照正常的逻辑进行配置,如果ok的话,就可以正常使用插件里面的功能。接下来就是单击clear按钮,就可以重新修改、编译ExtLibraryCase里面的代码。如果没有问题,代表我们的修改是正确的;否则大家就要看下是不是哪里修改错了。

        做好了这一点之后,大家如果需要修改插件代码的话,就不需要频繁关闭、打开qmacvisual了,使用上面十分方便。

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

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

相关文章

局域网内部使用的视频会议系统推荐

随着远程办公的普及和全球化的发展趋势&#xff0c;企业需要一个高效、灵活、安全的音视频会议解决方案&#xff0c;以支持远程办公的协同工作、跨地域沟通等需要。私有化音视频会议就是一个适合企业自身部署的解决方案。它不仅能够满足企业信息管理和保密的需求&#xff0c;而…

关于DNS解析那些事儿,了解DNS解析的基础知识

DNS&#xff0c;全称Domain Name System域名系统&#xff0c;是一个将域名和IP地址相互映射的一个分布于世界各地的分布式数据库&#xff0c;而DNS解析就是将域名转换为IP地址的过程&#xff0c;使人们可以轻松实现通过域名访问网站。DNS解析是网站建设非常关键的一步&#xff…

事务的隔离性

参考: 小林coding MySQL服务器同时处理多个事务时&#xff0c;会出现脏读&#xff0c;不可重复读&#xff0c;幻读问题。 脏读 一个事务读到另一个未提交事务修改过的数据。 举例&#xff1a;事务A先读取数据&#xff0c;并对其进行修改&#xff0c;此时事务B进行读取获取到…

2024妈妈杯mathorcup B题详细思路代码:甲骨文智能识别中原始拓片单字自动分割与识别研究

甲骨文智能识别中原始拓片单字自动分割与识别研究&#xff1a; 问题一&#xff1a; 图像预处理&#xff1a;这通常包括将图像转换为灰度图&#xff0c;剔除噪声&#xff0c;调整对比度&#xff0c;以及可能的二值化处理&#xff0c;使得甲骨文的特征更加突出。此外&#xff0c…

企企通入选2023年度中国高科技高成长企业、2023中小微企业数字化转型服务商TOP100榜单!

近期&#xff0c;2023年度中国高科技高成长企业系列榜单、2023中小微企业数字化转型服务商TOP100重磅发布&#xff0c;企企通凭借在数字化采购领域的产品能力和服务能力等综合实力&#xff0c;连续斩获多个奖项&#xff0c;得到主流权威媒体机构认可&#xff0c;印证了企企通的…

leetcode 1702

leetcode 1702 题目 例子 代码思路 class Solution { public:string maximumBinaryString(string binary) {int n binary.size();int i binary.find(0);if(i string::npos){return binary;}int zeros count(binary.begin(), binary.end(), 0);string s(n, 1);s[izeros-1]…

Jmeter02-2:参数化组件其他方式

0、Jmeter组件&#xff1a;参数化概述 0.1 是什么&#xff1f; 参数化是动态的获取并设置数据 0.2 为什么&#xff1f; 比如执行批量操作时&#xff0c;批量插入或批量删除&#xff0c;之前数据都是手写的&#xff0c;每执行完都要修改一次&#xff0c;效率太低 而参数化就是…

数字化社交的引擎:解析Facebook的影响力

随着数字技术的飞速发展&#xff0c;社交网络已成为人们日常生活中不可或缺的一部分。而在这个数字化社交的世界中&#xff0c;Facebook作为最具影响力和知名度的平台之一&#xff0c;其所扮演的角色越发重要。本文将深入解析Facebook在数字化社交领域的影响力&#xff0c;并探…

C/C++ 配置 jemalloc 的一些选项,处理一些疑似内存泄漏的问题。

在 jemalloc 之中有三种配置 jemalloc 选项的一些方式。 1、修改选项代码默认值&#xff08;重新编译&#xff09; 2、修改环境变量 MALLOC_CONF&#xff0c;并重启应用程序 注意&#xff1a; 仅支持 opt. 节配置选项 export MALLOC_CONF"retain:true,dirty_decay_ms:2…

牛客 NC252 多数组中位数【中等 模拟 Java,Go】

题目 题目链接&#xff1a; https://www.nowcoder.com/practice/b6bb0bce88894108bfc23e9b7b012420 思路 模拟&#xff0c;2数组合并一个数组helphelp长度为奇数&#xff0c;直接取中间值&#xff0c;为偶数&#xff0c;中间2个值&#xff0c;哪个小返回哪个参考答案Java imp…

LightM-UNet:Mamba 辅助的轻量级 UNet 用于医学图像分割

摘要 https://arxiv.org/pdf/2403.05246.pdf UNet及其变体在医学图像分割中得到了广泛应用。然而&#xff0c;这些模型&#xff0c;特别是基于Transformer架构的模型&#xff0c;由于参数众多和计算负载大&#xff0c;使得它们不适合用于移动健康应用。最近&#xff0c;以Mamb…

Unity-超级方便的Excel 读写插件

超级无敌棒棒糖&#x1f58c; &#x1f32d;功能介绍&#x1f355; Demo&#x1f333;准备一个数据类&#x1f333;准备一个Excel&#x1f333;导入Excel&#x1f333;行数据自动转换&#x1f333;导出到Excel &#x1f371;新增映射字段类型 &#x1f32d;功能介绍 &#x1f…

护眼台灯品牌哪个好?2024五大护眼台灯排行榜分享

​护眼台灯作为家庭中常见的照明工具&#xff0c;其存在几乎成为了现代生活的标配。家长们往往会为孩子购置一台&#xff0c;供学习和阅读使用&#xff1b;同时&#xff0c;它也是学生和办公人员在夜晚工作学习的必备之物。然而&#xff0c;市面上的一些普通台灯可能存在着种种…

Day17_学点JavaEE_转发、重定向、Get、POST、乱码问题总结

1 转发 转发&#xff1a;一般查询了数据之后&#xff0c;转发到一个jsp页面进行展示 req.setAttribute("list", list); req.getRequestDispatcher("student_list.jsp").forward(req, resp);2 重定向 重定向&#xff1a;一般添加、删除、修改之后重定向到…

什么是企微文档?怎样搭建企微文档?

企微文档作为一种高效、便捷的协作工具&#xff0c;已经有越来越多企业的在使用。那么&#xff0c;什么是企微文档&#xff1f;我们又该如何高效搭建企微文档呢&#xff1f;这就是我们今天要来探讨的问题。 | 什么是企微文档 简单来说&#xff0c;企微文档就是企业微信平台上的…

时光清浅,百事从欢

裙身主图案采用寓意丰富的石榴印花石榴花开红火&#xff0c;枝叶茂盛恰好契合“时来运转”的主题希望宝贝们都能如石榴般坚韧生长&#xff0c;好运连连裙型设计深蕴国风美学&#xff0c;融合现代剪裁工艺将古典韵味与时尚元素完美交融领口处巧妙运用中式立领设计既保留了传统服…

PHP学习

&#xff08;外文名:PHP: Hypertext Preprocessor&#xff0c;中文名&#xff1a;“超文本预处理器”&#xff09;是一种通 用开源脚本语言。语法吸收了C语言、Java和Perl的特点&#xff0c;利于学习&#xff0c;使用广泛&#xff0c;主要适用 于 Web开发 领域。用PHP做出的动…

Python基于Django的微博热搜、微博舆论可视化系统,附源码

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

Mongodb入门--头歌实验MongoDB 文档的高级查询操作

数据库存储了大量的数据&#xff0c;当我们需要特定的数据时就要使用查询方法&#xff0c;根据一定的条件&#xff0c;筛选出我们想要的数据&#xff0c;前一章我们简单介绍了条件操作符&#xff08;<、<、>、>、!等&#xff09;&#xff0c;在这一章中我们将更全面…