(转自:http://it.100xuexi.com/view/otdetail/20120827/4021c662-b917-44d9-8284-910cac713c23.html)
QT Webkit开发学习笔记是本文要介绍的内容,主要是来学习QTwebkit的学习使用方法,具体内容的实现来看本文详解。
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使用缓存
.            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 的内容为:
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) 文件中加入:
   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 ,,,
. PRODUCTVERSION ,,,
. 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
. /* End of Version info */

Qt WebKit 学习的说明的更多相关文章

  1. Qt webkit插件相关知识

    1.在Qt中使用 WebKit 浏览器核心 使用 QtWebKit 需要在工程文件(*.pro)中加入: 1.           QT +=webkit   2.           QT += n ...

  2. Qt的学习资料比起其它C/C++的GUI组件来说已经算很全的了

    Qt的学习资料比起其它C/C++的GUI组件来说已经算很全的了.Google的话能解决很多问题,如果没搜到资料的话,如果不是问题太过具体或者奇葩,那就是搜索方法的问题.中文教程中,Qt学习之路系列很不 ...

  3. [转] Qt 多线程学习

    Qt 多线程学习 转自:http://www.cnblogs.com/IT-BOY/p/3544220.html 最近的项目上用到了关于多线程的知识,自己也比较感兴趣,所以就拿了那本<C++ G ...

  4. Qt入门学习——Qt 5 帮助文档的使用

    Qt入门学习——Qt 5 帮助文档的使用 学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必 ...

  5. Qt webKit可以做什么(四)--实现本地QObject和JavaScript交互

    Qt webKit可以做什么(四)--实现本地QObject和JavaScript交互 Qt webKit可以做什么(四)--实现本地QObject和JavaScript交互

  6. Qt WebKit and HTML5 geolocation | Qt Project forums | Qt Project

    Qt WebKit and HTML5 geolocation | Qt Project forums | Qt Project Qt WebKit and HTML5 geolocation   I ...

  7. WebKit学习资源

    1.http://blog.csdn.net/dlmu2001/article/category/741748    红心地瓜 2.http://blog.csdn.net/cnnzp/article ...

  8. QT入门学习笔记2:QT例程

    转至:http://blog.51cto.com/9291927/2138876 Qt开发学习教程 一.Qt开发基础学习教程 本部分博客主要根据狄泰学院唐老师的<QT实验分析教程>创作,同 ...

  9. PyQt(Python+Qt)学习随笔:使用实例方法赋值方式捕获事件

    专栏:Python基础教程目录 专栏:使用PyQt开发图形界面Python应用 专栏:PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 在<第15.17节 PyQt(Python+ ...

随机推荐

  1. appium入门基础

    1. 建立session时常用命令: DesiredCapabilities cap = new DesiredCapabilities(); cap.SetCapability("brow ...

  2. POJ - 2912 Rochambeau (带权并查集+枚举)

    题意:有N个人被分为了三组,其中有一个人是开了挂的.同组的人的关系是‘=’,不同组的人关系是‘<’或'>',但是开了挂的人可以给出自己和他人任意的关系.现在要根据M条关系找出这个开了挂的人 ...

  3. HDU - 6315 Naive Operations (线段树+思维) 2018 Multi-University Training Contest 2

    题意:数量为N的序列a和b,a初始全为0,b为给定的1-N的排列.有两种操作:1.将a序列区间[L,R]中的数全部+1:2.查询区间[L,R]中的 ∑⌊ai/bi⌋(向下取整) 分析:对于一个位置i, ...

  4. iOS 在cell中使用倒计时的处理方法(新)

    一.前言 之前的文章iOS 在cell中使用倒计时的处理方法得到大量的支持, 在这先感谢大家的支持. 但是也收到不少人的回复表示不会用, 需要一一解答, 由于之前写的时候没有使用Markdown编辑, ...

  5. 【c++ primer, 5e】类的其他特性(卒)

    1 - Class Members Revisited 2 - Functions That Return *this 3 - Class Types 4 - Friendship Revisited ...

  6. 20145219 《Java程序设计》实验四 Android开发基础设计实验报告

    20145219 <Java程序设计>实验四 Android开发基础设计实验报告 实验内容 安装Andriod Studio并配置软件 使用Andriod Studio软件实现Hello ...

  7. Hardware Prefetcher

    硬件预取选项,指CPU有硬件预取功能,在CPU处理指令或数据之前,它将这些指令或数据从内存预取到L2缓存中,借此减少内存读取的时间,帮助消除潜在的瓶颈,以此提高系统效能.通常情况下建议设置为Enabl ...

  8. select 下拉框 设置值

    function setSelectOption(objSelect, targetValue){ if(objSelect){ var options = objSelect.options; if ...

  9. android studio 更新Gradle版本方法

    在导入其他项目时,经常由于gradle版本不一致而导致不能编译 解决方法: 第一步: 按提示点击让它下载,其实目的并不是要它下载,因为这样速度会很慢,这样做只是为了让它在本地创建相应的目录结构 第二步 ...

  10. java手动分页处理

    经常我们在操作数据库的时候都会用到分页,而且很多框架也提供了分页功能,像PageHelper. 但是在有些项目中,需要将数据查询出来进行手动分页,那么原理是什么呢? 其实很简单,首先需要知道数据总量, ...