求助編輯百科名片
Widget
Web Widget,中文譯名被稱(chēng)作是
微件,是一小塊可以在任意一個(gè)基于HTML的Web頁(yè)面上執行的代碼,它的表現形式可能是視頻,地圖,新聞,小游戲等等。它的根本思想來(lái)源于代碼復用,通常情況下,Widget的代碼形式包含了DHTML,JavaScript以及Adobe Flash。
目錄
簡(jiǎn)介作用以及批評Widget引擎Widget技術(shù)釋義簡(jiǎn)介起源與發(fā)展展開(kāi)
簡(jiǎn)介作用以及批評Widget引擎Widget技術(shù)釋義簡(jiǎn)介起源與發(fā)展展開(kāi)
編輯本段簡(jiǎn)介
Web Widget可以向一個(gè)基于HTML的Web頁(yè)面上添加一些動(dòng)態(tài)內容。它可能是點(diǎn)擊計數器,實(shí)時(shí)股票信息以及航班信息等等。通常情況下,一個(gè)Widget的功能都是由第三方提供的代碼實(shí)現的,而Web開(kāi)發(fā)者,只需要將這些代碼塊嵌入自己的頁(yè)面即可。其實(shí),在
萬(wàn)維網(wǎng)發(fā)展的早期,Web開(kāi)發(fā)者就已經(jīng)嘗試在他們的頁(yè)面中嵌入一些第三方開(kāi)發(fā)的代碼塊,不過(guò)這些代碼塊早期的功能通常都是一些諸如鏈接計數,或者廣告標識(en:Web banner)之類(lèi)的。
Web Widget可以被視作是小型的可下載應用程序,不過(guò)這些應用程序都是運用一些Web技術(shù)來(lái)得以實(shí)現的,包括
JavaScript,
HTML以及
CSS等。Web Widget通常都需要依賴(lài)一些公開(kāi)的Web
API。這些API可能是由
瀏覽器公開(kāi),或者是由一些Widget引擎公開(kāi)。
編輯本段作用以及批評
Web Widget允許Web開(kāi)發(fā)者在他們的頁(yè)面中集成任何第三方Web站點(diǎn)所提供的Widget代碼,以便于在自己的網(wǎng)站中聚合各種各樣的信息與資源。這樣一來(lái),原先網(wǎng)頁(yè)瀏覽者可能必須要去好幾個(gè)不同站點(diǎn)才能獲取到的信息可以在一次頁(yè)面訪(fǎng)問(wèn)中全部獲取到。
基于Web Widget的特性,一些人認為,通過(guò)這一途徑,站點(diǎn)的擁有者可以借助Widget提升自己站點(diǎn)的用戶(hù)體驗,而營(yíng)銷(xiāo)人員也可借助Widget在用戶(hù)不需要跳轉當前頁(yè)面的情況下也可以推廣廠(chǎng)商自身的品牌與服務(wù);但與此相反,另外一些人卻認為Web Widget所帶來(lái)的只是又一個(gè)商業(yè)上的泡沫而已,因為當用戶(hù)在一個(gè)集成了多種Web Widget的個(gè)性化站點(diǎn)或者社交網(wǎng)站中(如
Facebook)尋找樂(lè )趣時(shí),他們是不太可能記住Widget中推廣的品牌與產(chǎn)品的。
另外,由于任何Widget代碼都可以被嵌入到Web頁(yè)面中,因此一些帶有惡意代碼的Widget將可能給頁(yè)面瀏覽者帶來(lái)麻煩。比如Facebook上曾經(jīng)有一個(gè)名為"Secret Crush"的Widget,它會(huì )誘導用戶(hù)去自動(dòng)下載
廣告軟件。
編輯本段Widget引擎
主條目:Widget引擎
微件管理系統提供了一個(gè)基于Web頁(yè)面的用于對微件進(jìn)行管理的方法,通常是一個(gè)
Blog或者是一個(gè)
社交網(wǎng)站的Home page。很多Blog系統直接以
插件的形式提供一個(gè)內嵌的微件
管理工具。用戶(hù)可以借此從不同的Widget開(kāi)發(fā)商那里獲得各種各樣的微件,并將它們運用于自己的頁(yè)面之上。
編輯本段Widget技術(shù)
Widget技術(shù)_概念⑴
⒈什么是widget技術(shù)
最直觀(guān)就是vista上的鐘可以隨便拖動(dòng)。其實(shí)widget技術(shù)就是通過(guò)xml,html,css顯示UI,js作為腳本的一種應用描述技術(shù)。解析工具可以是瀏覽器也可以是其他應用。
⒉目前有的widget
微軟
vista上的widget.在手機上,微軟通過(guò)ie也實(shí)現了widget的.
Google
google的gadget的是不通過(guò)瀏覽器,而是自己的加載應用
Opera
該widget是和瀏覽器綁定的。個(gè)人認為Opera的是做得最好的,但也最難。
Yahoo
很好玩的一個(gè)widget,可以去耍耍。
盛大
不是很了解,但希望中國公司能做好,能開(kāi)源,能豐富。Widget技術(shù)_JS banding⑵
⒈jsbinding介紹
大家都知道js,當widget和js和在一起的時(shí)候,就需要js能控制本地的一些東西,比如說(shuō)打開(kāi)某個(gè)文件,修改系統時(shí)間。這就需要對js功能進(jìn)行擴展。其實(shí)普通的瀏覽器也有這個(gè)需求,通過(guò)增加插件來(lái)支持更多的東西。
⒉API的統一
既然無(wú)論是瀏覽器還是widget都需要對js進(jìn)行擴展,不同的公司將按自己的瀏覽器或widget推出一套API。有沒(méi)有人統一一下呀?聽(tīng)說(shuō)有個(gè)公共組織打算統一bangding的API,但還有待時(shí)間。
編輯本段釋義
詞典解釋
名詞 n.
⒈(作附件用的)小機械
⒉(指工廠(chǎng))未定名的主要新產(chǎn)品
⒊【美】【俚】裝飾物
⒋【電腦】專(zhuān)用界面工具集網(wǎng)絡(luò )釋義
⒈構件
GTK術(shù)語(yǔ)表[中國電子技術(shù)論壇] -- P...
135 widget 構件
⒉小部件
MS-DOS信息英漢對照 計算機英語(yǔ)強化|...
widget 小部件
⒊小器具
英語(yǔ)新詞匯與常用詞匯的翻譯(158) - ...
widget 小器具
Widget (建議中文譯名:微件)
編輯本段簡(jiǎn)介
「Yahoo!Widget Engine」是一種基于JavaScript的應用程序平臺,您必須先安裝Widget引擎后才能使用各式各樣的Widget工具。
Yahoo!Widget是由雅虎推出的免費并開(kāi)放源碼的桌面應用程序平臺。它由Widget引擎和Widget工具兩部分組成。能夠極大的便利您的網(wǎng)絡(luò )操作和完善您的桌面應用。Widget引擎提供了一個(gè)Ajax應用程序平臺,在Windows和Mac OS X的操作系統環(huán)境下都可以使用。安裝引擎后就能在此平臺上運行各式各樣的Widget工具了。
編輯本段起源與發(fā)展
⒈ Widget的這個(gè)創(chuàng )想來(lái)自一個(gè)叫做Rose的蘋(píng)果電腦工程師。98年的一天,Rose在自己的蘋(píng)果操作系統桌面玩一個(gè)可以更換皮膚的MP3播放器時(shí)忽發(fā)奇想:如果在我桌面上運行的所有工具都能夠更換皮膚或外觀(guān),那將是一件很酷的事情,Rose的興奮之情溢于言表,它給這個(gè)酷酷的玩意兒起了個(gè)名字叫“Konfabulator”。
⒉ Konfabulator是運行在用戶(hù)電腦桌面上最炫的東西,就像一部老爺車(chē)一樣有無(wú)數能夠發(fā)揮功用并值得深入探討的零部件,帶有吸引人的神奇魅力。Rose從1999年到2001年之間,不斷向自己身邊的工程師宣傳自己對于Konfabulator的看法和它的奇幻魔力,卻沒(méi)有人對它感興趣。直到2002年的一天,Rose遇到了一個(gè)叫做Perry的工程師。兩人擁有對于Konfabulator這件事情同樣的構想,于是一拍即合。
⒊ 于是兩人開(kāi)始共同為了這個(gè)炫酷的玩意兒在深夜努力工作,他們開(kāi)辟了一個(gè)和Konfabulator相關(guān)的網(wǎng)站向大家傳播這個(gè)想法,并在論壇中征詢(xún)網(wǎng)友的意見(jiàn)“到底什么才是真正的Konfabulator?”大家的說(shuō)法是千奇百怪的,有人說(shuō)它是一個(gè)運行在用戶(hù)桌面的加熱器,有人說(shuō)它是桌面寵物,有人說(shuō)它是張牙舞爪的機器人。但是沒(méi)有人對于Konfabulator的描述是確切的。
⒋ 終于在2003年2月10日的深夜,Konfabulator1.0正式版在Rose和Perry的共同努力下正式發(fā)布了。它是運行在蘋(píng)果操作系統之上的小工具,其中的主運行文件叫做Widget,在Rose頭腦中醞釀了5年的想法終于第一次問(wèn)世了。并且向所有人宣布Konfabulator是運行在用戶(hù)桌面上最獨一無(wú)二的工具,你希望它是什么樣子,它就能按照你的想法而改變。
⒌ Konfabulator意想不到的快速在全美瘋狂的蔓延著(zhù),Rose和Perry感到非常的吃驚,同時(shí)他們也認識到這將會(huì )成為Konfabulator發(fā)展歷史上非常關(guān)鍵的一個(gè)時(shí)期,于是兩個(gè)人都辭去了各自的工作,開(kāi)始專(zhuān)注于Konfabulator這件事情。
⒍ 在2003年的7月Konfabulator1.5版本發(fā)布了,主運行文件Widget的開(kāi)發(fā)變得風(fēng)靡一時(shí),越來(lái)越多的人參與其中,也因為如此Konfabulator更名為Widget。Widget在蘋(píng)果操作系統中所表現出的熱潮,使得Rose和Perry認為它應該有更廣的應用領(lǐng)域。于是在接下的半年中Perry的一個(gè)朋友參與到開(kāi)發(fā)Widget Windows平臺版本的工作中來(lái),但最開(kāi)始的一些嘗試都是失敗的。
⒎ 不久之后Rose找到了一個(gè)自己的好朋友ED,ED是蘋(píng)果電腦公司工作超過(guò)十年有著(zhù)深厚資歷的一名優(yōu)秀的開(kāi)發(fā)工程師。在和他溝通Windows平臺下開(kāi)發(fā)Widget的事情之后,ED認為Rose希望在Windows平臺下運行Widget的想法有些不可理喻。Rose和Perry開(kāi)始很失望,但令他們感到吃驚的是,兩天以后ED居然拿出了一個(gè)Windows平臺下運行的Widget原型。
⒏ 2004年的11月Widget1.8版本正式對外發(fā)布了,由此開(kāi)始Widget進(jìn)入了一個(gè)新的時(shí)代,成為了跨平臺的產(chǎn)品。使用Windows和Mac操作系統的用戶(hù)都可以使用和開(kāi)發(fā)自己喜歡的Widget工具。當然這還僅僅只是一個(gè)開(kāi)端。
⒐2005年07月25日,雅虎收購插件引擎Konfabulator。Konfabulator是基于mac osx和windows操作系統的免費的應用平臺。但是在被計算機服務(wù)公司雅虎收購后,它被重新命名了。名字Konfabulator 隨后恢復作為后臺運行的服務(wù)引擎的名字。這個(gè)引擎使用java腳本運行環(huán)境和XML解析器來(lái)運行一些所謂插件的小應用程序。因此是插件引擎一類(lèi)應用程序的一部分。
⒑2006年8月22日,雅虎中國發(fā)布了其最新產(chǎn)品Widget中文版?!?1.2006年6月,Google桌面4.0正式發(fā)布,其中集成了很多Google小工具(Google Gadgets)。
⒓2005年下半年,Windows Vista上市,小工具第一次與消費者見(jiàn)面。一些評論家與Mac愛(ài)好者迅速地指出Windows邊欄在形式及功能上與蘋(píng)果公司的Dashboard以及Yahoo! Widget Engine(原為Konfabulator)相似。雖然現時(shí)有許多相似形式及功能的產(chǎn)品,邊欄在Windows Vista開(kāi)發(fā)期間(當時(shí)代號為L(cháng)onghorn)已經(jīng)存在。首個(gè)包含該功能的版本號于2002年9月發(fā)布,在Konfabulator或Dashboard兩者發(fā)表之前。2009年,Windows 7發(fā)布,“Windows邊欄”消失。小工具擺脫了邊欄的束縛,在收縮模式下也可以在屏幕上自由移動(dòng)。
⒔2006年10月,諾基亞發(fā)布“維信”英文版,被看作其開(kāi)拓移動(dòng)互聯(lián)網(wǎng)領(lǐng)域的第一步。2007年5月25日,“維信”在全球范圍內的注冊用戶(hù)達到100萬(wàn)。當時(shí)英文版維信已集成諸如Wikipedia、Technorati、Digg和Flickr等網(wǎng)站;而維信中文版集成大眾點(diǎn)評網(wǎng)、豆瓣和一些中國本地博客等很多中文網(wǎng)站的應用。2009年8月,維信在官網(wǎng)上發(fā)出了公告,決定停止維信服務(wù)。維信在中國開(kāi)辦了2年后,終于也退出了人們的視線(xiàn)?!?4.2009年4月30日,官方1.5版本(Cupcake 紙杯蛋糕)的Android發(fā)布。主屏幕增加音樂(lè )播放器和相框widgets。
⒖2010年10月,微軟公司正式發(fā)布Windows Phone智能手機操作系統的第一個(gè)版本W(wǎng)indows Phone 7,加入了特有的動(dòng)態(tài)磁貼(Live Tiles),盡管與Widget有著(zhù)看似相似的信息傳遞功能,卻有著(zhù)不同的設計原理和理念。
編輯本段特征
widget具有哪些特征呢? 《
網(wǎng)絡(luò )整合營(yíng)銷(xiāo)兵器譜》一書(shū)中提出了以下幾點(diǎn)
1.身材微:它們一般都很小,在終端上嵌入非常方便,運行快速。
2.形式多:Widget可以以多種形式呈現出來(lái),幻燈秀、視頻、地圖、新聞、小游戲……
3.功能巨:別看它們小,卻服務(wù)周到,它可以為你報告新聞、幫你買(mǎi)東西、列出你最喜歡的樂(lè )隊,還有你最近看的視頻。另外,它還是一個(gè)殷勤的管家,你不必親自去Flickr或者天氣預報網(wǎng)站,Widget會(huì )將信息主動(dòng)帶給你。
4.姿容麗:它們可以稱(chēng)得上玉面飛龍、以色服人。只要你愿意,你可以把它變成任何你想要得樣子。它的出現,無(wú)異于一枚“桌面炸彈”,狹窄而單調的IE窗口將被更為廣闊和絢麗的桌面空間所取代。
5.個(gè)性化:Widget更像一個(gè)屬于我們每個(gè)人的魔方,任由用戶(hù)聚合。你可以根據自己喜好,將多個(gè)Widget,隨心所欲的去精心組裝你的網(wǎng)絡(luò )世界。通過(guò)Widget,可以用戶(hù)把一切在“網(wǎng)”中的內容打亂重來(lái),并按照用戶(hù)希望看到的樣子重新排列組合一個(gè)屬于自己的互聯(lián)網(wǎng)。比如說(shuō)一個(gè)由微件搭建個(gè)人空間,可以包括來(lái)自新浪的體育新聞,來(lái)自論壇的一個(gè)板塊,來(lái)自權威財經(jīng)網(wǎng)站的一則隨時(shí)更新的股票信息——這些以往需要用戶(hù)同時(shí)分別進(jìn)入幾個(gè)網(wǎng)站才能看到的信息,現在由一個(gè)個(gè)微件將其轉變?yōu)橛脩?hù)個(gè)人空間的一部分,從而可以直接在同一個(gè)頁(yè)面中并存。傳統互聯(lián)網(wǎng)訪(fǎng)問(wèn)方式處于分裂狀態(tài)的后Web2.0時(shí)期,多樣性、炫酷且更具個(gè)性化的Widget流行,或許能引領(lǐng)一個(gè)新的潮流。
6.易制作:制作 Widget 部件并不復雜,只需要熟悉三方面的知識:圖像處理、HTML/XML、java,就可以按照開(kāi)發(fā)站點(diǎn)里的教程做出漂亮的部件來(lái)。Widget能夠流行的一個(gè)要點(diǎn)在于開(kāi)放制作,UGC應用帶來(lái)爆炸式地增長(cháng)。參考資料來(lái)源(《網(wǎng)絡(luò )整合營(yíng)銷(xiāo)兵器譜》遼寧出版集團 劉東明)
編輯本段系統配置
Yahoo!Widget工具在Windows和MacOS X上都可執行。Windows:等級需為Windows 2000 Service Pack 3 或以上版本或Windows XP SP1或以上版本。Macintosh:等級則需為Mac OS X 10.3 或以上版本。內存需求為512MB以上,使用寬帶網(wǎng)絡(luò )不小于512k的計算機系統。
編輯本段各種應用
⑴電腦操作系統桌面 Widget:
Yahoo! Widget
Windows Vista側邊欄
Windows 7 的桌面小工具 也可以理解成為 Widget (小插件)。
Mac OS X 的 Widget 集合,相當美觀(guān)、實(shí)用。
⑵
智能手機操作系統桌面 Widget:
Iphone 的 iOS
Google 的 Android
⑶個(gè)性化首頁(yè)Widgets
Netvibes
iGoogle
⑷博客Widgets
博客側邊欄(blogspot)
抓蝦Widget
可掛在博客中的拍照Widget
Mugsho 是一款輕量級可以放置在自己博客中的拍照Widget,訪(fǎng)客可通過(guò)它留下自己的模樣。
Mugsho 是一款很有意思的小玩意兒,用戶(hù)可以將Mugsho提供的Widget放置在自己的博客中,訪(fǎng)客便可以直接通過(guò)它拍下自己的模樣留給博客站長(cháng)。除了簡(jiǎn)單的拍照功能以外,Mugsho Widget 本身還提供了部分圖像渲染功能,訪(fǎng)客可以在原照片的基礎上進(jìn)行較為簡(jiǎn)單濾鏡處理。
編輯本段Web Runtime Widget
Widget比較分析
概覽
Widget是一種很小的應用程序,主要作為Web 2.0服務(wù)或互聯(lián)網(wǎng)內容的前端。Web設計人員與開(kāi)發(fā)者可以使用Widget來(lái)創(chuàng )造最受歡迎的互聯(lián)網(wǎng)體驗,用戶(hù)只需在S60的桌面或應用菜單中單擊即可訪(fǎng)問(wèn)。WeatherBug Widget是許多Widget應用的一個(gè)例子,它可以使用戶(hù)隨時(shí)了解想知道的天氣情況。
僅需幾天甚至幾個(gè)小時(shí),您便可以給移動(dòng)用戶(hù)創(chuàng )建一個(gè)訪(fǎng)問(wèn)您Web服務(wù)的界面,就像手機的快速撥號那樣易于使用。Widget提供了與您的客戶(hù)建立一對一關(guān)系的機會(huì )。通過(guò)標準的瀏覽器,用戶(hù)可以輕松地在這些服務(wù)內容中跳轉。通過(guò)Widget,服務(wù)內容產(chǎn)生了焦點(diǎn),而且具備內置的信任級別。
WRT令每個(gè)人都可以使用Web的開(kāi)發(fā)和設計技巧為移動(dòng)用戶(hù)創(chuàng )建令人激動(dòng)的互聯(lián)網(wǎng)體驗,而這一切只需數日甚至幾個(gè)小時(shí)。無(wú)論是要為您的Web服務(wù)提供單擊訪(fǎng)問(wèn)的界面,還是想整合(mashups)各種各樣的資源信息產(chǎn)生增值,WRT都令其成為可能。
從技術(shù)角度來(lái)看,WRT在流行的S60 Web瀏覽器中增加了一個(gè)Web程序的運行環(huán)境,使得S60設備可以運行Widget。正如桌面Widget,WRT Widget是輕量級的移動(dòng)應用,使用諸如HTML,CSS,JavaScript?和Ajax等標準的Web技術(shù)來(lái)開(kāi)發(fā)。事實(shí)上,您幾乎不花什么功夫就可以將桌面Widget遷移到WRT中來(lái),您可以使用現有的編寫(xiě)工具來(lái)創(chuàng )建和打包您的應用。
在最新的S60第五版中整合了S60平臺服務(wù),可用標準的HTML和JavaScript技術(shù)創(chuàng )建更具個(gè)性和環(huán)境感知性的Widget。通過(guò)獲取存儲在本地設備上的信息,如日歷和通訊錄程序,Widget可以整合互聯(lián)網(wǎng)和本地資源,提供一個(gè)全新的、個(gè)人化的服務(wù)體驗。例如,通過(guò)訪(fǎng)問(wèn)設備上的全球定位系統(GPS)功能,Widget可以給用戶(hù)提供更具相關(guān)性和環(huán)境感知性的信息。作為Web開(kāi)發(fā)者,您可以輕易地使用JavaScript擴展來(lái)訪(fǎng)問(wèn)這些新特性。測試與安全
從Web設計和開(kāi)發(fā)的觀(guān)點(diǎn),最初的問(wèn)題將是如何測試和驗證Web程序的功能。諾基亞論壇讓W(xué)RT可通過(guò)遠程設備訪(fǎng)問(wèn)(RDA)程序來(lái)使用。最新S60平臺的SDK中也包含了最新版的WRT技術(shù)。
WRT Widget可像其他S60應用一樣安裝、使用和運行。用戶(hù)可以將自己最喜歡的Widget添加到S60的桌面,或者從應用菜單中啟動(dòng)。由于WRT的重點(diǎn)在于提供互聯(lián)網(wǎng)訪(fǎng)問(wèn)服務(wù),所以Widget不需要簽名。
作為領(lǐng)先的移動(dòng)設備廠(chǎng)商,諾基亞認真對待移動(dòng)安全問(wèn)題。與那些瀏覽器執行的JavaScript技術(shù)相比,Widget不會(huì )產(chǎn)生更多的安全風(fēng)險。JavaScript技術(shù)提供了供第三方代碼運行的嚴格控制的環(huán)境,通常稱(chēng)為沙盒(Sandbox)安全模型。在S60第五版中,Widget可從訪(fǎng)問(wèn)通訊錄、日歷和GPS這樣的S60平臺核心程序中獲益。
編輯本段Qt Web Runtime Widget
概覽
Nokia宣布放棄Web Runtime的繼續開(kāi)發(fā)和升級,轉而代替的是Qt版本的WRT。其相應的Widget包以wgt為后綴名。Widget的開(kāi)發(fā)和使用特點(diǎn)與原WRT沒(méi)有區別,未來(lái)QT WRT將會(huì )提供更多的Api訪(fǎng)問(wèn)設備接口并支持HTML5的一些新特性。
編輯本段WRT widget移植到Qt
創(chuàng )建一個(gè)基于QWebView控件的Qt應用
啟動(dòng) Qt Creator IDE.依此選擇 File > New File or Project... > Projects > Qt C++ Project> Mobile Qt Application.點(diǎn)擊 Choose。填入項目名稱(chēng)和路徑。點(diǎn)擊 Next。接下來(lái),根據需要選擇你的應用所支持的平臺。點(diǎn)擊 Next。然后,選擇屏幕旋轉的方式。這里需要注意的一點(diǎn)是,如果你的應用需要網(wǎng)絡(luò )連接,請選上下面的Enable network access選項。點(diǎn)擊 Next。根據需要,選擇版本控制。點(diǎn)擊 Finish。
首先我們將webkit模塊的加載到我們的項目中:
QT += webkit現在就可以編輯代碼了!
首先,要在項目中添加一個(gè)類(lèi)WRTWidgetWindow。依此選擇 File > New File or Project... > Files and Classes > C++> C++ Class. 在類(lèi)名中填入WRTWidgetWindow, 并在基類(lèi)下拉選項中選擇QMainWindow。這樣文件 wrtwidgetwindow.h和wrtwidgetwindow.cpp會(huì )自動(dòng)添加到項目中。
接下來(lái)編輯文件 wrtwidgetwindow.h :
#ifndef WRTWIDGETWINDOW_H
#define WRTWIDGETWINDOW_H
#include <QtCore/QPointer>
#include <QtGui/QMainWindow>
class QWebView;
class WRTWidgetWindow :public QMainWindow
{
Q_OBJECT
public:
WRTWidgetWindow(QWidget *parent = 0);
~WRTWidgetWindow();
private:
void setupUI();
QWebView* createWebView();
private:
QPointer<QWebView> webView;
};
#endif // WRTWIDGETWINDOW_H上面的類(lèi)WRTWidgetWindow繼承自QMainWindow,代表了應用的主窗口。WRTWidgetWindow包含了QWebView控件。QWebView用來(lái)在Qt應用中顯示web內容(HTML,CSS,JavaScript)。
接下來(lái),編輯(wrtwidgetwindow.cpp):
#include "wrtwidgetwindow.h"
#include <QtGui/QFrame>
#include <QtGui/QVBoxLayout>
#include <QtWebKit/QWebView>
WRTWidgetWindow::WRTWidgetWindow(QWidget *parent)
: QMainWindow(parent)
{
setupUI();
}
WRTWidgetWindow::~WRTWidgetWindow()
{
webView->deleteLater();
}
void WRTWidgetWindow::setupUI()
{
QFrame* cw =new QFrame(this);
setCentralWidget(cw);
QVBoxLayout* layout =new QVBoxLayout(cw);
cw->setLayout(layout);
webView = createWebView();
layout->addWidget(webView);
}
QWebView* WRTWidgetWindow::createWebView()
{
QWebView* view =new QWebView(this);
return view;
}最后,雙擊打開(kāi)文件 main.cpp , 并做一些修改:
#include <QtGui/QApplication>
#include "wrtwidgetwindow.h"
int main(int argc,char*argv[])
{
QApplication app(argc,argv);
WRTWidgetWindow window;
window.show();
return app.exec();
}現在,可以編譯運行這個(gè)應用了。當然現在的QWebView中的內容還是空的。顯示web內容
現在,向這個(gè)Qt應用中加入WRT widget 內容。將HTML,CSS,JavaScript和其他資源文件拷貝到你的Qt項目文件中。盡量保留原來(lái)的WRT widget的目錄結構,這樣可以避免找不到引用文件。常見(jiàn)的WRT widget的目錄一般是這樣的:
html/ (HTML files)
style/ (CSS files)
js/ (JavaScript files)
gfx/ (graphics)為了便于在Qt應用中使用web內容,需要在項目中添加一個(gè)資源文件。選擇File > New File or Project... > Qt > Qt Resource file,點(diǎn)擊Choose..., 然后填入資源文件的名字和路徑。點(diǎn)擊Next,確保這個(gè)文件加入到當前的項目中。最后點(diǎn)擊Finish。一個(gè).pro 文件會(huì )自動(dòng)加到你的項目中。然后將以下web內容相關(guān)的文件加入到資源文件中:
在這個(gè)例子中我只用到了兩個(gè)文件:
<RCC>
<qresourceprefix="/">
<file>res/sample.html</file>
<file>res/js/sample.js</file>
</qresource>
</RCC>;現在,web文件僅僅是加入到Qt項目中,但是他們還沒(méi)有被現實(shí)出來(lái)。為了在
}代碼已經(jīng)全部修改完畢。重新編譯你的Qt應用(Build > Rebuild Project)。最后運行這個(gè)Qt應用(Build > Run 或者 Ctrl+R)?,F在,就可以在QWebKit中看到這個(gè)HTML文件了。