Qt调用插件
来源:互联网 发布:virtualbox拖拽文件mac 编辑:程序博客网 时间:2024/06/08 04:16
首先创建一个Qt的一般的动态库
然后创建一个插件接口文件, 如下:
#pragma once#include <QtPlugin>class CQtMyPluginInterface{public: virtual ~CQtMyPluginInterface() {} virtual QString getString() = 0;};Q_DECLARE_INTERFACE(CQtMyPluginInterface, "cn.camelsoft.CQtMyPluginInterface/1.0")
#include <QtPlugin>
//引用Qt插件系统头文件Q_DECLARE_INTERFACE(CQtMyPluginInterface, "cn.camelsoft.CQtMyPluginInterface/1.0")
//申明接口
然后改造库类的头文件, 如下:
#pragma once#include <QObject>#include "QtMyPluginInterface.h"class CQtMyPlugin : public QObject, public CQtMyPluginInterface{ Q_OBJECT Q_PLUGIN_METADATA ( IID "cn.camelsoft.CQtMyPluginInterface/1.0") Q_INTERFACES(CQtMyPluginInterface)public: virtual QString getString();};
Q_PLUGIN_METADATA ( IID "cn.camelsoft.CQtMyPluginInterface/1.0")
//注册插件IDQ_INTERFACES(CQtMyPluginInterface)
//申明插件接口
这样一个Qt插件框架下开发的插件就做好了. 接下来是调用
QPluginLoader loader("QtMyPlugin.dll"); if (!loader.load()) { return; } CQtMyPluginInterface *plugin = qobject_cast<CQtMyPluginInterface *>(loader.instance()); if (plugin) { QMessageBox::about(NULL, QStringLiteral("显示插件信息"), plugin->getString()); }
需要完整代码请访问QtWidgetsExamples
阅读全文
0 0
- QT 插件调用
- Qt调用插件
- Qt 调用动态库 插件
- C++ Qt 调用动态库 插件
- Qt使用插件的形式调用DLL
- Qt Creator5.8调用大漠插件
- Qt之一步一步实现插件调用
- Qt一步一步实现插件调用(附源码)、Qt一步一步实现插件通信(附源码)
- Qt插件的析构函数不被调用(QTBUG17458)
- QT实现浏览器插件 调用及回调 (一)
- QT实现浏览器插件 调用及回调 (二)
- QT实现浏览器插件 调用及回调 (三)
- Qt一步一步实现插件调用(附源码)
- Qt 插件
- Qt 插件
- Qt插件
- QT-插件
- [QT]qt plugin插件
- React Native 混合开发 mac环境部署
- c#中Gridview控件写判断语句
- 面向对象和面向过程的区别和联系
- python3调用java的webService小程序
- elasticsearh集群布署与调试
- Qt调用插件
- TortoiseSVN的简单使用方法
- 一个简单的Twisted框架应用
- Redis和Memcached的区别
- java实现ftp下文件的上传、下载和删除
- vertical-align使图片垂直居中的小细节
- LeetCode341. Flatten Nested List Iterator
- SQL注入之绕过
- linux-第三单元总结