QT浏览器插件开发入门.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
QT浏览器插件开发入门

QT浏览器插件开发入门简介主流的浏览器插件开发主要分为两种: ActiveX控件,适合IE内核的浏览器NPAPI插件,适合Netscape浏览器的开发NPAPI全称为 Netscape Plugin Application Programming Interface在QT4.7.2下有这两种模式的开发支持,相关资料可在Qt文档网站上找到,ActiveX 开发有QT提供ActiveQT server library支持库(QT4.7.2),NPAPI开发QT4.7.2本身无此支持,需要下载相关的API,下载qt-solutions-qt-solutions-master.tar.gz,解压后qtbrowserplugin目录就是。下面是完成的一个测试,首先做了一个功能库imagedemo,主要完成一个图片的显示功能,现在将它分别封装为ActiveX控件和NPAPI插件,供不同浏览器调用。ActiveX创建QT Application工程工程名称:npgraphapp,创建时注意必须选择ActiveQT server library,如下图创建资源文件文件npgraphapp.rc中就一句话:1 TYPELIB npgraphapp.rc修改类npgraphapp.h在文件中增加Q_CLASSINFO信息,代码如下:#ifndef NPGRAPHAPP_H#define NPGRAPHAPP_H#include QtGui/QtGuiclass npgraphapp : public QWidget{Q_OBJECTQ_CLASSINFO(ClassID, {4CFCDEDD-F2F6-42E9-8671-D63D7B15AA2C});Q_CLASSINFO(InterfaceID, {615B202B-C4F2-4C9F-B9F5-2F9D52ECF0BC});Q_CLASSINFO(EventsID, {C9C4EB5F-F926-4770-AA7F-50702B53DB3E});public:npgraphapp(QWidget *parent = 0);~npgraphapp();…};#endif // NPGRAPHAPP_H修改main.cpp在文件中增加QAXFACTORY_BEGIN宏,代码如下:#include npgraphapp.h#include QtGui/QApplication#include ActiveQt/QAxFactoryQAXFACTORY_BEGIN({5E2C9F73-03E9-4351-9ECC-C46697D1A8D5}, {443A7F7F-FFE1-498A-AECB-D3EBCD5810CB})QAXCLASS(npgraphapp)QAXFACTORY_END()int main(int argc, char *argv[]){QApplication a(argc, argv);if ( !QAxFactory::isServer() ) {npgraphapp* w = new npgraphapp();w-show();}return a.exec();}修改工程属性增加生成事件,如下图:在命令行中编辑(注册ActiveX控件)C:\Qt\4.7.2\bin\idc.exe $(TargetPath) /idl $(IntDir)\npgraphapp.idl -version 1.0if errorlevel 1 goto VCReportErrormidl $(IntDir)\npgraphapp.idl /nologo /tlb $(IntDir)\npgraphapp.tlbif errorlevel 1 goto VCReportErrorC:\Qt\4.7.2\bin\idc.exe $(TargetPath) /tlb $(IntDir)\npgraphapp.tlbif errorlevel 1 goto VCReportErrorC:\Qt\4.7.2\bin\idc.exe $(TargetPath) /regserver注册和调用工程编译后自动生成事件会注册组件,注意看编译信息是否注册成功测试组件OBJECT ID=npgraphdemo CLASSID=CLSID:4CFCDEDD-F2F6-42E9-8671-D63D7B15AA2C HEIGHT=80% WIDTH=80% ALIGN=LEFT /OBJECT问题:如果仅仅在界面上绘制可创建QT Active库,如果界面上需调用其它QT控件或自定义的QT控件,需创建为可执行文件才可以NPAPI创建QT Library工程名称:npgraphdemo下载qt-solutions

文档评论(0)

2017ll + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档