成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

詳解QT中Webkit開發

移動開發
WebKit 是一個開源項目,其起源可追溯到 K Desktop Environment (KDE),WebKit項目催生了面向移動設備的現代 Web 應用程序。

QTWebkit開發,WebKit 是一個開源的瀏覽器引擎,與之相對應的引擎有Gecko(Mozilla Firefox 等使用)和Trident(也稱MSHTML,IE 使用)。同時WebKit 也是蘋果Mac OS X 系統引擎框架版本的名稱,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。

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); 

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 

(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 */ 

小結:WebKit是開源的Web瀏覽器引擎,WebKit支持移動設備和手機,包括iPhoneAndroid手機都是使用WebKit做為瀏覽器的核心。

【編輯推薦】

淺談Qt做文件瀏覽器

Qt/E服務器客戶端架構

在Qt中如何寫控制臺程序

基于Qt Web瀏覽器設計與實現

Qt程序進入等待睡眠的正確方法

責任編輯:zhaolei 來源: 互聯網
相關推薦

2011-09-09 17:24:39

Qt Webkit模塊

2011-08-29 10:01:27

QTWebkit插件

2011-09-01 14:04:45

QT Webkit插件

2011-09-01 15:22:16

Qt WebKitWebKit

2011-09-09 18:43:13

Qt Webkit瀏覽器

2011-10-13 14:26:12

Qt WebKitWebKit

2011-08-29 10:59:47

QtWebkit嵌入式

2011-08-29 14:27:33

QTWebkit瀏覽器

2011-08-29 14:19:48

QtWebkit瀏覽器

2011-08-29 10:22:48

QtWebkit 模塊HTML文檔

2011-06-20 09:26:38

Linux qtopia QT

2011-09-09 16:23:16

Android Web測試

2011-08-29 11:25:29

QTWebKit鼠標

2011-08-29 14:10:03

QtWebkitFlash

2011-06-28 13:38:15

Arm linux QT

2011-06-24 09:13:30

QT SDL

2013-09-04 14:25:30

webkitwebApp開發

2011-08-29 14:40:58

QTWebkit

2011-06-28 15:18:45

Qt 單例模式

2011-06-29 17:20:20

Qt 內存 QOBJECT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 成年人精品视频在线观看 | 日韩毛片免费看 | 国产精品免费一区二区三区四区 | 日本天天操 | 国产高清视频在线观看 | 欧美 日韩 国产 成人 | 亚洲一区二区av | 夜夜操av| 婷婷激情综合 | 欧美中文字幕 | 香蕉大人久久国产成人av | av电影一区| 欧美亚洲一区二区三区 | 日韩精品一区二区三区视频播放 | 日韩成人免费视频 | 91www在线观看 | 亚洲最大的黄色网址 | 99精品视频一区二区三区 | 97国产精品| 成人免费在线视频 | 欧美激情99| 喷潮网站 | 欧美精品一区二区免费 | 欧美一级二级在线观看 | 国产精品影视在线观看 | 超碰网址 | 亚洲国产精品久久久久婷婷老年 | 欧美 日韩 中文 | 精品国产三级 | 日本久久久久久 | 亚洲精品久久久一区二区三区 | 日韩一区二区三区精品 | 男人天堂色 | 亚洲成av片人久久久 | 嫩草视频在线看 | 成人在线观看免费 | 天堂中文av | 亚洲精品v | 一区二区免费看 | 亚洲成人中文字幕 | 夜夜操天天艹 |