1、在Qt中使用 WebKit 浏览器核心
使用 QtWebKit 需要在工程文件(*.pro)中加入:
1.           QT +=webkit  
2.           QT += network 
2、QtWebKit的flash支持
QtWebKit 到固定的路径(NPAPI插件厂商的安装路径)下载入flash控件,如果需要flash支持,确保一下文件存在:
1.           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插件的路径,例如:
1.           QApplication aApp(argc,argv);  
2.           QApplication::setLibraryPaths(QStringList(QCoreApplication::applicationDirPath()+"/plugins/")); 
在调用 QCoreApplication::applicationDirPath() 前,必须先创建一个 QApplication的对象
5、中文支持:
1.           QTextCodec *codec=QTextCodec::codecForName("GB2312");  
2.           QTextCodec::setCodecForLocale(codec);  
3.           QTextCodec::setCodecForCStrings(codec);  
4.           QTextCodec::setCodecForTr(codec); 
6、使用 windows api
只要 #include<windows.h>就可以向MFC一样使用windows的api 函数,以及windows的数据类型,例如:LPCTSTR。
为了保持跨平台特性,在用到windows api 函数和 windows数据类型的地方加上宏判断:
1.           #ifdefined(Q_WS_WIN)  
2.           ... ...  
3.           #endif 
7、让QtWebKit使用缓存
1.            QNetworkDiskCache *diskCache=newQNetworkDiskCache(this);  
2.           QString location=QDesktopServices::storageLocation(QDesktopServices::CacheLocation);  
3.           diskCache->setCacheDirectory(location);  
4.           this->ui->wndHtmlView->page()->networkAccessManager()->setCache(diskCache);  
5.           QDesktopServices::storageLocation(QDesktopServices::CacheLocation); 
返回的是系统的缓存目录的路径
8、windows eclipse中无法启动 debug , 会报错:
1.           gdb: unknown target exception 0xc0000135 at 0x7c984ed1 
可能是因为用 gdb.exe 启动你的程序时无法找到qt库的dll, 只要在环境变量加入 qt/bin 的路径就好了
9、windows7/vista 中的 UAC 支持
建一个资源文件 resource.rc ,内容:
1.           1    24    "manifest.xml" 
资源类型为 24 , id 为 1 ,资源内容在 manifest.xml 中; manifest.xml 的内容为:
1.           <?xml version="1.0" encoding="UTF-8" standalone="yes"?>   
2.           <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">   
3.           <assemblyIdentity   
4.           version="1.0.0.0"   
5.           processorArchitecture="X86"   
6.           name="test.exe.manifest"   
7.           type="win32"   
8.            />   
9.           <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">   
10.       <security>   
11.       <requestedPrivileges>   
12.       <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />   
13.       </requestedPrivileges>   
14.       </security>   
15.       </trustInfo>   
16.       </assembly>  
在项目的 .pro (或 .pri) 文件中加入:
1.           RC_FILE = resource.rc  
2.           (RC_FILE  只在 windows 平台上有效) 
然后 clean project 重新编译
10、exe 版本信息 ,在资源文件中加入:
1.            # if defined(UNDER_CE)  
2.           #  include <winbase.h> 
3.           # else  
4.           #  include <winver.h> 
5.           # endif  
6.            
7.           VS_VERSION_INFO VERSIONINFO  
8.               FILEVERSION 1,0,0,0  
9.               PRODUCTVERSION 1,0,0,0  
10.           FILEFLAGSMASK 0x3fL  
11.       #ifdef _DEBUG  
12.          FILEFLAGS VS_FF_DEBUG  
13.       #else  
14.           FILEFLAGS 0x0L  
15.       #endif  
16.           FILEOS VOS__WINDOWS32  
17.           FILETYPE VFT_DLL  
18.           FILESUBTYPE 0x0L  
19.           BEGIN  
20.               BLOCK "StringFileInfo"  
21.               BEGIN  
22.                   BLOCK "040904B0"  
23.                   BEGIN  
24.                       VALUE "CompanyName", "公司名字\0"  
25.                       VALUE "FileDescription", "文件描述\0"  
26.                       VALUE "FileVersion", "文件版本\0"  
27.                       VALUE "ProductName", "产品名字\0"  
28.                       VALUE "产品版本", "0.1.0\0"  
29.                       VALUE "LegalCopyright", "版权信息\0"  
30.                   END  
31.               END  
32.           END  
33.       /* End of Version info */ 

Qt webkit插件相关知识的更多相关文章

  1. OpenCV&Qt学习之四——OpenCV 实现人脸检测与相关知识整理

    开发配置 OpenCV的例程中已经带有了人脸检测的例程,位置在:OpenCV\samples\facedetect.cpp文件,OpenCV的安装与这个例子的测试可以参考我之前的博文Linux 下编译 ...

  2. HTML入门基础教程相关知识

    HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...

  3. [转帖]xserver相关知识汇总

    xserver相关知识汇总 https://blog.csdn.net/QTVLC/article/details/81739984   本文主要是从以下几个方面介绍xorg-xserver 相关的知 ...

  4. podSpec文件相关知识整理

    上一篇文章整理了我用SVN创建私有库的过程,本文将整理一下有关podSpec文件的相关知识. podSpec中spec的全称是“Specification”,说明书的意思.顾名思义,这是用来描述你这个 ...

  5. 学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等)

    这篇文章主要介绍了学习Ruby你需要了解的相关知识(rvm, gem, bundle, rake, rails等),需要的朋友可以参考下     Ruby 这个就不用多说了 RVM 用于帮你安装Rub ...

  6. Qt WebKit 学习的说明

    (转自:http://it.100xuexi.com/view/otdetail/20120827/4021c662-b917-44d9-8284-910cac713c23.html) QT Webk ...

  7. web聊天相关知识

    http相关知识 http是无状态,请求,响应模式的通信模式,就是用户每次通过浏览器点击一下页面,都需要重新与web服务器建立一下连接,且发送自己的 session id 给服务器端以使服务器端验证此 ...

  8. DesignPattern系列__08UML相关知识

    前言 现在,很少有人和90年代一样,自己去实现一个软件的各个方面,也就是说,在工作中,和人沟通是必备的技能.那么,作为一枚码农,如何和他人沟通呢?这就要依靠本文的主题了--UML. 简介 UML--U ...

  9. Golang(十)TLS 相关知识(一)基本概念原理

    0. 前言 最近参与一个基于 BitTorrent 协议的 Docker 镜像分发加速插件的开发,主要参与补充 https 协议 学习了 TLS 相关知识,下面对之前的学习做一下简单总结 参考文献:T ...

随机推荐

  1. WEB安全--CSRF剖析

    CSRF攻击:攻击者构造合法的HTTP请求,随后利用用户的身份操作用户帐户的一种攻击方式. 一.CSRF攻击原理CSRF的攻击建立在浏览器与Web服务器的会话中:欺骗用户访问URL.二.CSRF攻击场 ...

  2. UIView.frame的骗局

    如果你刚刚开始接触IOS编程, 刚刚接触UIKit, 肯定会被 frame, bounds, center, layer.anchorPoint, layer.position 这些乱七八糟得属性折腾 ...

  3. Debian安装中文输入法

    简单暴力: apt-get install ibus-pinyin 你也可以通过GUI下面到Synaptic Package Manager里面选中ibus-pinyin进行安装 安装完成后重启计算机 ...

  4. Debian系统网卡调试出问题,无线网卡提示device not managed如何解决?

    参考文章:<How to fix Wired Network interface “Device not managed” error in Debian or Kali Linux?> ...

  5. 基础KMP两道

    1. HDU 1711 Number Sequence 代码: #include <iostream> #include <cstdio> #include <cstri ...

  6. java 14 -10 Calendar类以及练习

    Calendar:它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法, 并为操作日历字段(例如获得下星期的日期)提供了一些方法. 1 ...

  7. a标签中有点击事件

    我们常用的在a标签中有点击事件:1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问题 ...

  8. jquery的children方法和css3选择器配合使用

    $(".pid").children("ul:nth-child(2)");//获取拥有pid类元素下的第二个ul元素 $(".pid"). ...

  9. intellij IDEA15 设置背景颜色

    File--> Settings 2. Appearance & Behavior --> Appearance 设置边框背景颜色 3. Editor --> Colors ...

  10. html2canvas手机端模糊问题

    待解决.测试对于图片之类的没有影响.但是文字在手机上看起来比较模糊.