百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程文章 > 正文

设置Qt插件路径 qt插件开发教程

qiyuwang 2024-10-12 22:39 22 浏览 0 评论

1、在Qt中使用 WebKit 浏览器核心

使用 QtWebKit 需要在工程文件(*.pro)中加入:

QT +=webkit

QT += network

2、QtWebKit的flash支持

QtWebKit 到固定的路径(NPAPI插件厂商的安装路径)下载入flash控件,如果需要flash支持,确保一下文件存在:

C:\WINDOWS\system32\Macromed\Flash\NPSWF32.dll

npswf32.dll就是 QtWebKit 需要的flash插件,由 micromedia 官方提供。

3、使用qt插件

分发程序时,需要打包 qt\plugins\imageformats 目录内的 dll 文件(它们是qt的图形图像插件),才能支持 jpg、png、gif等的图形图像格式;最好连 plugins\codecs 目录内的dll文件一起打包,他们是用来支持各种语言编码的(包括中文支持);除此以外还有其他一些qt插件。

4、如果使用了qt插件,需要设置qt插件路径

qt应用程序需要指定加载qt插件的目录,以便载入上面提到的 plugins\imageformats 、plugins\codecs 等目录内的dll文件。

标准方式是通过 qt.conf 文件(放在qt应用程序相同文件夹内)设置插件目录的路径。但是qt.conf内必须使用绝对路径,这不太容易确定。

可以直接在应用程序内指定 qt插件的路径,例如:

QApplication aApp(argc,argv);

QApplication::setLibraryPaths(QStringList(QCoreApplication::applicationDirPath()+"/plugins/"));

在调用 QCoreApplication::applicationDirPath() 前,必须先创建一个 QApplication的对象

5、中文支持

QTextCodec *codec=QTextCodec::codecForName("GB2312");

QTextCodec::setCodecForLocale(codec);

QTextCodec::setCodecForCStrings(codec);

QTextCodec::setCodecForTr(codec);

6、使用 windows api

只要 #include<windows.h>就可以向MFC一样使用windows的api 函数,以及windows的数据类型,例如:LPCTSTR。

为了保持跨平台特性,在用到windows api 函数 和 windows数据类型的地方加上宏判断:

#ifdefined(Q_WS_WIN)

... ...

#endif

7、让QtWebKit使用缓存

【领QT开发教程学习资料,点击下方链接莬费领取↓↓,先码住不迷路~】

点击→领取「链接」

 QNetworkDiskCache *diskCache=newQNetworkDiskCache(this);

QString location=QDesktopServices::storageLocation(QDesktopServices::CacheLocation);

diskCache->setCacheDirectory(location);

this->ui->wndHtmlView->page()->networkAccessManager()->setCache(diskCache);

QDesktopServices::storageLocation(QDesktopServices::CacheLocation);返回的是系统的缓存目录的路径

8、windows eclipse中无法启动 debug , 会报错:gdb: unknown target exception 0xc0000135 at 0x7c984ed1

可能是因为用 gdb.exe 启动你的程序时无法找到qt库的dll, 只要在环境变量加入 qt/bin 的路径就好了

9、windows7/vista 中的 UAC 支持

建一个资源文件 resource.rc ,内容 :

1 24 "manifest.xml"

资源类型为 24 , id 为 1 ,资源内容在 manifest.xml 中; manifest.xml 的内容为:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">

<assemblyIdentity

version="1.0.0.0"

processorArchitecture="X86"

name="test.exe.manifest"

type="win32"

/>

<trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">

<security>

<requestedPrivileges>

<requestedExecutionLevel level="requireAdministrator" uiAccess="false"/>

</requestedPrivileges>

</security>

</trustInfo>

</assembly>

在项目的 .pro (或 .pri) 文件中加入:

RC_FILE = resource.rc

(RC_FILE 只在 windows 平台上有效)

然后 clean project 重新编译

10、exe 版本信息 ,在资源文件中加入# if defined(UNDER_CE)

#  include <winbase.h>

# else

#  include <winver.h>

# endif

VS_VERSION_INFO VERSIONINFO

    FILEVERSION 1,0,0,0

    PRODUCTVERSION 1,0,0,0

    FILEFLAGSMASK 0x3fL

#ifdef _DEBUG

    FILEFLAGS VS_FF_DEBUG

#else

    FILEFLAGS 0x0L

#endif

    FILEOS VOS__WINDOWS32

    FILETYPE VFT_DLL

    FILESUBTYPE 0x0L

    BEGIN

        BLOCK "StringFileInfo"

        BEGIN

            BLOCK "040904B0"

            BEGIN

                VALUE "CompanyName", "公司名字\0"

                VALUE "FileDescription", "文件描述\0"

                VALUE "FileVersion", "文件版本\0"

                VALUE "ProductName", "产品名字\0"

                VALUE "产品版本", "0.1.0\0"

                VALUE "LegalCopyright", "版权信息\0"

            END

        END

    END

相关推荐

PayPal严重漏洞可通过不安全的JAVA反序列化对象

在2015年12月,我在PayPal商业网站(manager.paypal.com)中发现了一个严重的漏洞,这个漏洞的存在,使得我可以通过不安全的JAVA反序列化对象,在PayPal的网站服务器上远程...

提醒:Apache Dubbo存在反序列化漏洞

背景:近日监测到ApacheDubbo存在反序列化漏洞(CVE-2019-17564),此漏洞可导致远程代码执行。ApacheDubbo是一款应用广泛的高性能轻量级的JavaRPC分布式服务框架...

【预警通报】关于WebLogicT3存在反序列化高危漏洞的预警通报

近日,我中心技术支撑单位监测到WebLogicT3存在反序列化0day高危漏洞,攻击者可利用T3协议进行反序列化漏洞实现远程代码执行。...

Apache dubbo 反序列化漏洞(CVE-2023-23638)分析及利用探索

在对Apachedubbo的CVE-2023-23638漏洞分析的过程中,通过对师傅们对这个漏洞的学习和整理,再结合了一些新学的技巧运用,从而把这个漏洞的利用向前推了一步。整个过程中的研究思路以及...

案例|WebLogic反序列化漏洞攻击分析

目前网络攻击种类越来越多,黑客的攻击手段也变得层出不穷,常规的防护手段通常是对特征进行识别,一旦黑客进行绕过等操作,安全设备很难发现及防御。通过科来网络回溯分析系统可以全景还原各类异常网络行为,记录所...

【预警通报】关于ApacheOFBizRMI反序列化远程代码 执行高危漏洞的预警通报

近日,我中心技术支撑单位监测发现ApacheOFBiz官方发布安全更新,修复了一处远程代码执行漏洞。成功利用该漏洞的攻击者可造成任意代码执行,控制服务器。该漏洞编号:CVE-2021-26295,安...

关于OracleWebLogic wls9-async组件存在反序列化远程命令执行高危漏洞的预警通报

近日,国家信息安全漏洞共享平台(CNVD)公布了OracleWebLogicwls9-async反序列化远程命令执行漏洞。攻击者利用该漏洞,可在未授权的情况下远程执行命令。该漏洞安全级别为“高危”。现...

Rust语言从入门到精通系列 - Serde序列化/反序列化模块入门指北

Serde是一个用于序列化和反序列化Rust数据结构的库。它支持JSON、BSON、YAML等多种格式,并且可以自定义序列化和反序列化方式。Serde的特点是代码简洁、易于使用、性能高效。...

Java反序列化漏洞详解(java反序列化漏洞利用)

Java反序列化漏洞从爆出到现在快2个月了,已有白帽子实现了jenkins,weblogic,jboss等的代码执行利用工具。本文对于Java反序列化的漏洞简述后,并对于Java反序列化的Poc进行详...

关于Oracle WebLogic Server存在反序列化远程代码执行漏洞的安全公告

安全公告编号:CNTA-2018-00222018年7月18日,国家信息安全漏洞共享平台(CNVD)收录了OracleWebLogicServer反序列化远程代码执行漏洞(CNVD-2018-13...

CVE-2020-9484 Apache Tomcat反序列化漏洞浅析

本文是i春秋论坛作家「Ybwh」表哥原创的一篇技术文章,浅析CVE-2020-9484ApacheTomcat反序列化漏洞。01漏洞概述这次是因为错误配置和org.apache.catalina....

告别脚本小子系列丨JAVA安全(8)——反序列化利用链(下)

0x01前言...

关于WebLogic反序列化高危漏洞的紧急预警通报

近日,WebLogic官方发布WebLogic反序列化漏洞的紧急预警通告,利用该漏洞可造成远程代码执行并直接控制Weblogic服务器,危害极大。该漏洞编号为:CVE-2019-2890,安全级别为“...

高危!Fastjson反序列化漏洞风险通告

漏洞描述...

学习Vulhub的Java RMI Registry 反序列化漏洞

这个实验,我们先通过dnslog演示命令执行,然后通过反弹shell获得root权限。JavaRemoteMethodInvocation用于在Java中进行远程调用。RMI存在远程bind的...

取消回复欢迎 发表评论: