成人免费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-09-01 14:04:45

QT Webkit插件

2011-08-29 10:01:27

QTWebkit插件

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-24 09:13:30

QT SDL

2011-06-28 13:38:15

Arm linux QT

2013-09-04 14:25:30

webkitwebApp開發

2011-08-29 14:40:58

QTWebkit

2013-09-09 16:46:38

Webkit內核

2011-06-29 17:20:20

Qt 內存 QOBJECT
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91麻豆精品一区二区三区 | 国产成在线观看免费视频 | 国产精品三级久久久久久电影 | 亚洲国产精品视频一区 | 国产aaaaav久久久一区二区 | 中文日韩在线视频 | 91精品久久久久久久久久入口 | 欧美日韩国产精品一区 | 一区二区免费在线观看 | 91精品久久久久久久久 | 91精品久久久久 | 亚洲综合婷婷 | 国产精品久久久久久久免费大片 | 日韩在线视频观看 | 国内自拍偷拍一区 | 亚洲一卡二卡 | 国产免费一区二区三区 | 成人国产精品久久久 | 视频三区 | 日韩在线观看中文字幕 | 91在线一区 | 国产一区二区精品在线观看 | 亚洲欧洲一区二区 | 国产精品不卡一区 | 久久99精品久久 | 成人精品免费视频 | 国产精品污www在线观看 | 色婷婷影院 | 国产精品久久久久久久久久久久久久 | 97国产一区二区精品久久呦 | 精品久久久久久久久久久久久久 | 欧美成人h版在线观看 | 天堂亚洲| 亚洲一区中文字幕在线观看 | 日本特黄特色aaa大片免费 | 久草新在线 | 日韩欧美国产一区二区三区 | 亚洲精品视频一区 | 农村黄性色生活片 | wwwxx在线观看 | 精品中文字幕久久 |