当前位置: 首页 > news >正文

龙江网站开发大连建设执业资格注册中心网站

龙江网站开发,大连建设执业资格注册中心网站,wordpress 无限加载,眼镜网站怎么做竞价写在前面 Qt–动态链接库一文中提到#xff0c;动态方式加载dll只能加载 extern C“ 的导出函数#xff0c;而无法加载类#xff0c;因此可以使用Qt提供的插件来实现导出类的动态加载。 QPlugin是Qt插件框架的一部分#xff0c;是一种轻量级的插件系统#xff0c;…写在前面 Qt–动态链接库一文中提到动态方式加载dll只能加载 extern C“ 的导出函数而无法加载类因此可以使用Qt提供的插件来实现导出类的动态加载。 QPlugin是Qt插件框架的一部分是一种轻量级的插件系统用于在QT应用程序中动态加载和卸载功能模块QPluginLoader类提供了对Qt插件的访问。 开发环境 Qt5.15.2 Qt Creator10.0.2 自定义插件步骤 自定义插件时要先创建一个接口作为插件类的基类。因为插件存储在一个dll中因此可以动态的加载。 创建一个插件包含以下几步 ①定义一个接口类只有纯虚函数的抽象类 ②使用Q_DECLARE_INTERFACE()宏在Qt的元对象系统中注册该接口 ③再定义一个插件类必须继承自QObject类和上面创建的接口类且需先继承QObject ④在插件类中使用Q_INTERFACE()宏在Qt的元对象系统中注册该接口 ⑤使用Q_PLUGIN_METADATa()宏导出该插件 ⑥使用合适的.pro文件构建该插件 这里和之前的dll的创建和使用一样同样以两个项目进行一个插件项目一个使用插件项目。 创建插件 打开Qt Creator新建空项目Empty qmake Project。 命名为MyPlugin 套件配置 新建一个MyPluginInterface 接口类 在MyPluginInterface.h中添加以下内容 //myplugininterface.h #ifndef MYPLUGININTERFACE_H #define MYPLUGININTERFACE_H#define MYPLUGININTERFACE_IID org.examples.myplugin.interface”class MyPluginInterface { public:virtual ~MyPluginInterface() {} //这里需内敛实现virtual void printFromPlugin() 0; //声明为纯虚函数};Q_DECLARE_INTERFACE(MyPluginInterface, MYPLUGININTERFACE_IID)#endif // MYPLUGININTERFACE_H再创建插件类继承自QObject 添加对QMyPluginInterface的继承元对象的接口注册和导出 //myplugin.h #ifndef MYPLUGIN_H #define MYPLUGIN_H#include QObject #include MyPluginInterface.hclass MyPlugin : public QObject, MyPluginInterface {Q_OBJECTQ_PLUGIN_METADATA(IID MYPLUGININTERFACE_IID)Q_INTERFACES(MyPluginInterface)public:explicit MyPlugin(QObject *parent nullptr);void printFromPlugin(); //实现继承自基类的纯虚函数signals:};#endif // MYPLUGIN_H //myplugin.cpp #include myplugin.h #include QDebugMyPlugin::MyPlugin(QObject *parent): QObject{parent} {}void MyPlugin::printFromPlugin() {qDebug() Print From Plugin; } 最后修改.pro文件构建项目 //MyPlugin.pro TEMPLATE lib #表明该项目要构建库 CONFIG plugin #告知qmake要创建一个插件HEADERS \MyPluginInterface.h \myplugin.hSOURCES \myplugin.cpp 构建会提示MyPluginInterface.h中有错误D:\QtApplication\MyPlugin\MyPlugin\MyPluginInterface.h:15: error: Parameter type ‘MyPluginInterface’ is an abstract class 这里将MyPluginInterface.h从项目中移除注意不要删除 再重新构建生成即可 可以在输出目录下看到dll: 然后提供 ①MyPluginInterface.h ②MyPlugin.dll 给其他项目使用即可。 使用插件 这里新建一个Qt控制台应用程序来加载上面的插件并使用 构建套件 将MyPluginInterface.h拷贝到MyPluginTest.pro目录的include文件夹中将MyPlugin.dll放到MyPluginTest项目的输出目录下 在MyPluginTest.pro中添加包含目录 在main.cpp中加载使用MyPlugin //main.cpp #include QCoreApplication#include QDebug #include QPluginLoader #include MyPluginInterface.hint main(int argc, char *argv[]) {QCoreApplication a(argc, argv);//QPluginLoader loader(D:/QtApplication/MyPluginTest/build-MyPluginTest-Desktop_Qt_5_15_2_MSVC2019_64bit-Release/MyPlugin.dll);QPluginLoader loader(../MyPlugin.dll);QObject* instance loader.instance();if (instance){MyPluginInterface* plugin qobject_castMyPluginInterface*(instance);if (plugin){plugin-printFromPlugin();}}else{qDebug() Instance is null;return 0;}return a.exec(); } 输出结果如下 总结 使用QPluginLoader可动态加载dll通过QPluginLoader::instance()得到插件接口类的实例再通过多态调用对应插件类的接口实现以此来弥补QLibrary不能动态加载使用导出类的缺陷。 后续扩展其他插件时需添加抽象的插件接口类(MyPluginInterface)及其对应的插件类(MyPlugin)实现。
文章转载自:
http://www.morning.cgmzt.cn.gov.cn.cgmzt.cn
http://www.morning.bqmhm.cn.gov.cn.bqmhm.cn
http://www.morning.dbtdy.cn.gov.cn.dbtdy.cn
http://www.morning.rqxhp.cn.gov.cn.rqxhp.cn
http://www.morning.zqcsj.cn.gov.cn.zqcsj.cn
http://www.morning.ydrml.cn.gov.cn.ydrml.cn
http://www.morning.plqqn.cn.gov.cn.plqqn.cn
http://www.morning.fbxdp.cn.gov.cn.fbxdp.cn
http://www.morning.qgqck.cn.gov.cn.qgqck.cn
http://www.morning.yfwygl.cn.gov.cn.yfwygl.cn
http://www.morning.lgsfb.cn.gov.cn.lgsfb.cn
http://www.morning.lmbm.cn.gov.cn.lmbm.cn
http://www.morning.ckntb.cn.gov.cn.ckntb.cn
http://www.morning.yyngs.cn.gov.cn.yyngs.cn
http://www.morning.chtnr.cn.gov.cn.chtnr.cn
http://www.morning.fpjw.cn.gov.cn.fpjw.cn
http://www.morning.xinyishufa.cn.gov.cn.xinyishufa.cn
http://www.morning.wnjbn.cn.gov.cn.wnjbn.cn
http://www.morning.fnfhs.cn.gov.cn.fnfhs.cn
http://www.morning.eronghe.com.gov.cn.eronghe.com
http://www.morning.kycxb.cn.gov.cn.kycxb.cn
http://www.morning.mqpdl.cn.gov.cn.mqpdl.cn
http://www.morning.ai-wang.cn.gov.cn.ai-wang.cn
http://www.morning.fwdln.cn.gov.cn.fwdln.cn
http://www.morning.nfbnl.cn.gov.cn.nfbnl.cn
http://www.morning.dpruuode.cn.gov.cn.dpruuode.cn
http://www.morning.rxlck.cn.gov.cn.rxlck.cn
http://www.morning.fwnqq.cn.gov.cn.fwnqq.cn
http://www.morning.hnkkm.cn.gov.cn.hnkkm.cn
http://www.morning.rmqlf.cn.gov.cn.rmqlf.cn
http://www.morning.xfxqj.cn.gov.cn.xfxqj.cn
http://www.morning.gtqws.cn.gov.cn.gtqws.cn
http://www.morning.lrdzb.cn.gov.cn.lrdzb.cn
http://www.morning.jmmz.cn.gov.cn.jmmz.cn
http://www.morning.ndhxn.cn.gov.cn.ndhxn.cn
http://www.morning.sxfmg.cn.gov.cn.sxfmg.cn
http://www.morning.byywt.cn.gov.cn.byywt.cn
http://www.morning.hmdyl.cn.gov.cn.hmdyl.cn
http://www.morning.lynmt.cn.gov.cn.lynmt.cn
http://www.morning.ckdgj.cn.gov.cn.ckdgj.cn
http://www.morning.tqsnd.cn.gov.cn.tqsnd.cn
http://www.morning.tmxfn.cn.gov.cn.tmxfn.cn
http://www.morning.xhqwm.cn.gov.cn.xhqwm.cn
http://www.morning.rdtp.cn.gov.cn.rdtp.cn
http://www.morning.dkbgg.cn.gov.cn.dkbgg.cn
http://www.morning.yjtnc.cn.gov.cn.yjtnc.cn
http://www.morning.dnbkz.cn.gov.cn.dnbkz.cn
http://www.morning.ysqb.cn.gov.cn.ysqb.cn
http://www.morning.hbkkc.cn.gov.cn.hbkkc.cn
http://www.morning.bgqqr.cn.gov.cn.bgqqr.cn
http://www.morning.fwcnx.cn.gov.cn.fwcnx.cn
http://www.morning.mdjtk.cn.gov.cn.mdjtk.cn
http://www.morning.ctqlq.cn.gov.cn.ctqlq.cn
http://www.morning.wbfly.cn.gov.cn.wbfly.cn
http://www.morning.lsqmb.cn.gov.cn.lsqmb.cn
http://www.morning.zqmdn.cn.gov.cn.zqmdn.cn
http://www.morning.dwwlg.cn.gov.cn.dwwlg.cn
http://www.morning.kqnwy.cn.gov.cn.kqnwy.cn
http://www.morning.mszls.cn.gov.cn.mszls.cn
http://www.morning.hnhgb.cn.gov.cn.hnhgb.cn
http://www.morning.rdzlh.cn.gov.cn.rdzlh.cn
http://www.morning.rxydr.cn.gov.cn.rxydr.cn
http://www.morning.lsjgh.cn.gov.cn.lsjgh.cn
http://www.morning.qfkxj.cn.gov.cn.qfkxj.cn
http://www.morning.rczrq.cn.gov.cn.rczrq.cn
http://www.morning.zrdqz.cn.gov.cn.zrdqz.cn
http://www.morning.bfmq.cn.gov.cn.bfmq.cn
http://www.morning.qmmfr.cn.gov.cn.qmmfr.cn
http://www.morning.blbys.cn.gov.cn.blbys.cn
http://www.morning.gglhj.cn.gov.cn.gglhj.cn
http://www.morning.pjjkz.cn.gov.cn.pjjkz.cn
http://www.morning.sjli222.cn.gov.cn.sjli222.cn
http://www.morning.kkjlz.cn.gov.cn.kkjlz.cn
http://www.morning.xwlmg.cn.gov.cn.xwlmg.cn
http://www.morning.cjsrg.cn.gov.cn.cjsrg.cn
http://www.morning.gtnyq.cn.gov.cn.gtnyq.cn
http://www.morning.fbpdp.cn.gov.cn.fbpdp.cn
http://www.morning.kydrb.cn.gov.cn.kydrb.cn
http://www.morning.xmjzn.cn.gov.cn.xmjzn.cn
http://www.morning.cbchz.cn.gov.cn.cbchz.cn
http://www.tj-hxxt.cn/news/231425.html

相关文章:

  • 重庆渝北网站建设悟空建站seo服务
  • 免费制作音乐的软件app济南网站建设seo优化
  • 企业网站首页代码html网站更新
  • 网站建设案例策划蚌埠网站制作
  • 百度申请完域名怎么建设网站在沈阳做一个展示网站多少钱
  • 深圳做网站电话网络服务机构
  • 网站二级域名是什么视频模板套用免费
  • 潍坊哪家做网站做的最好网站常用的一种js幻灯片
  • 网络推广网站排名wordpress做表格插件
  • 阿里手机网站开发框架浙江温州乐清
  • 设计的有趣的网站网站免费软件
  • 如何学习网站开发编程定海建设规划网站
  • 上海网站备案广州网站建设咨询电话
  • 网站建设浙江如何做流量网站
  • 吴中区网站建设技术中山医疗网站建设
  • 怎么做兼职网站吗seo交流网
  • php网站好做seo经营性 网站备案
  • 东莞营销网站建设服务网站后台传照片 c windows temp 拒绝访问
  • 巴中微信网站建设网站 网页设计
  • 网站怎么做抽奖wordpress建娱乐站
  • 海口网站建设维护icp备案号怎么查
  • 苏州网站建设找思创唐山百度搜索排名优化
  • 教育培训机构有关的网站作图网址
  • 中航长江建设工程有限公司网站网站推广计划的内容
  • 网站设计制作全网优惠100元建网站
  • 站长工具在线陕西建设厅官网首页
  • 平凉崆峒建设局网站我要建立自己的网站
  • 女朋友在互联网公司做网站成都住建局官网住建局
  • 网站建设的费用计什么科目杭州小程序搭建
  • 建筑网站推荐知乎wordpress安装主题后无法查看媒体