插件接口设计

以a+b=c的接口为例:int add(int a, int b)
在 主项目 工程中创建接口文件(一个头文件)eg:Add.h

#ifndef ADD_H
#define ADD_H#include <QtPlugin>
class Add
{
public:virtual int add(int a, int b)=  0;//纯虚函数
};
Q_DECLARE_INTERFACE(Add, "org.qt-project.Qt.QGenericPluginFactoryInterface")
#endif // ADD_H

使用插件接口

在项目中对插件接口的使用

 int a, b, eq;QPluginLoader loader("D:/2-software/qt/qt5.6/5.6/mingw49_32/plugins/generic/plugin.dll");if (loader.load()){qDebug()<<"loader load OK!";QObject *obj = loader.instance();if (obj){qDebug()<<"obj OK! obj->metaObject()->className()=" << obj->metaObject()->className();Add *plugin = dynamic_cast<Add*>(obj);qDebug()<<"plugin = " <<

【Qt】Qt Plugin:Qt插件创建与使用相关推荐

  1. 解决 Qt5 报错 This application failed to start because it could not find or load the Qt platform plugin

    解决 Qt5 报错 This application failed to start because it could not find or load the Qt platform plugin ...

  2. ubuntu18.04 Qt Creator 安装+ROS Qt Creator Plug-in 插件安装笔记

    ubuntu18.04 Qt Creator 安装+ROS Qt Creator Plug-in 插件安装笔记: 一.Qt Creator 5.10安装 官网下载地址: http://download ...

  3. 技术干货 | 基于 Qt Quick Plugin 快速构建桌面端跨平台组件

    导读:桌面端的 UI 开发框架对比移动端.Web 端的成熟方案,一直处于不温不火的状态.随着疫情掀起的风波,桌面端在线教育.视频会议等需求不断涌现.本文将围绕 Qt Quick 的优势来介绍如何快速创 ...

  4. 为QT的Webkit 编写插件

    为了允许的QWebView加载插件,必须使能QWebView的Javascript和Plugins属性,使能方法为: QWebSettings::globalSettings()->setAtt ...

  5. Qt工作笔记-QStylePlugin插件实现变化窗体背景

    目录 关键 演示及源码 关键 插件端: Q_PLUGIN_METADATA(IID "org.qt-project.Qt.QStyleFactoryInterface" FILE ...

  6. Qt学习之路(60): 创建shared library

    前段时间说了Qt一些类库的使用,今天来换一下口味,来看一下程序设计的问题.今天来说的是关于共享库 shared library. 如果你打开一些 Windows 应用程序的目录,你会发现有很多程序的 ...

  7. Qt开发技术:Qt的动态静态插件框架介绍和Demo

    若该文为原创文章,转载请注明原文出处 本文章博客地址:https://blog.csdn.net/qq21497936/article/details/105481285 长期持续带来更多项目与技术分 ...

  8. 【Qt】Ubuntu18.04下解决Qt出现qt.qpa.plugin:Could not load the Qt platform plugin “xcb“问题

    1.问题描述 在ubuntu18.04中第一次安装QT5,运行时报错 qtcreator.sh qt.qpa.plugin: Could not load the Qt platform plugin ...

  9. Qt Creator添加Qt Designer插件

    Qt Creator添加Qt Designer插件 添加Qt Designer插件 查找Qt Designer插件 在macOS上配置Qt Designer插件 匹配的构建密钥 添加Qt Design ...

  10. Qt编写自定义控件及插件的使用

    在使用Qt Designer设计窗体界面时,我们可以使用Widget Box里的窗体控件非常方便的绘制界面,比如拖进去一个按钮,一个文本编辑器等.虽然Qt Designer里的控件可以满足我们大部分的 ...

最新文章

  1. 丢人了!英伟达抄代码也就算了,竟然把人家的License都改成自己的
  2. bzoj1669[Usaco2006 Oct]Hungry Cows饥饿的奶牛*
  3. Python numpy函数hstack() vstack() stack() dstack() vsplit() concatenate()的使用
  4. 【转】使用TCP协议连续传输大量数据时,是否会丢包,应如何避免?
  5. Girton conservations
  6. nyoj 174 Max Sequence(最大子串和变形)
  7. CSS之Multi-columns的列数和列宽
  8. abrels.inc.php_setlist.js
  9. Eclipse 创建 Maven 工程
  10. 多人脸检测matlab程序,基于肤色的人脸检测matlab代码
  11. java笔记之过滤器
  12. H3C 交换机配置命令
  13. kodi资源_安装Kodi展示播放NAS电影
  14. Matlab 划分网格,三维曲面,网格划分好之后还需要提取网格上的每个点的位置坐标,之后需要用这些点的坐标进行运算。望各位大佬解惑,感激不尽
  15. 物种内共线性分析——思路以及踩坑总结(二)
  16. SpringMVC上传图片报400
  17. (.Net常识)(int),Int32.Parse,Conver.ToInt32三者在什么情况下使用以及其区别。
  18. java小组项目口号,小组口号霸气押韵大全(精选60句)
  19. 隐藏IP的功能和原理
  20. 考前集训 Day1下午

热门文章

  1. C语言实现bmp图像对比度扩展
  2. gnome硬盘分析_三款基于GUI和终端的实用Linux磁盘扫描工具
  3. CornerNet代码解析——损失函数
  4. 电脑雕刻教程_理性看待手工雕刻和电脑雕刻,手工并不代表精品,电脑雕刻也不代表战五渣...
  5. 【点云论文速读】点云高质量3D表面重建
  6. 【sgTopo】强哥古法炮制、纯手工打造简单拓扑图、流程图、思维导图组件(完善中ing)
  7. Houdini魔法特效制作学习教程
  8. 创建三维建筑可视化和虚拟现实的最快和最简单的方法
  9. 读书:历史 -- 奥斯曼帝国六百年
  10. linux进程间通信:消息队列实现双端通信