網絡技術可以用於使用C++等傳統語言編寫的桌面應用程序嗎?我猜他們可以,但我一直無法找到任何證據。我瞭解Adobe AIR可以使用Flash製作桌面應用程序,但它使用web等語言,如php等。我想要做的是能夠構建我的GUI元素 - 編輯框,滑塊,菜單等,使用html/CSS - 而不是原生的小部件 - 在以傳統方式構建的應用程序中 - 例如使用Visual Studio。Web技術如何用於C++應用程序GUI?
有沒有人知道這是否已經完成,是否有任何軟件使其更容易,或者如果有人反對這種方法?
網絡技術可以用於使用C++等傳統語言編寫的桌面應用程序嗎?我猜他們可以,但我一直無法找到任何證據。我瞭解Adobe AIR可以使用Flash製作桌面應用程序,但它使用web等語言,如php等。我想要做的是能夠構建我的GUI元素 - 編輯框,滑塊,菜單等,使用html/CSS - 而不是原生的小部件 - 在以傳統方式構建的應用程序中 - 例如使用Visual Studio。Web技術如何用於C++應用程序GUI?
有沒有人知道這是否已經完成,是否有任何軟件使其更容易,或者如果有人反對這種方法?
Qt正朝着這個方向發展,CSS-like styling和即將到來的"declarative" UI mechanism。
此外,你可以通過QtScript用Javascript驅動你的應用程序。
你也可以使用QtWebKit來提供一個基於HTML的用戶界面,它可以橋接C++代碼和Javascript之間。
xul使用xml和CSS來定義GUI元素。
作爲一個副業,我使用IE窗體控件構建了一個高效的應用程序,基本上在我的應用程序中嵌入了一個Web瀏覽器,該應用程序當時符合我的用途。
編輯:
http://msdn.microsoft.com/en-ca/library/aa770041(VS.85).aspx
我已經參與了一個應用程序,TomTom公司HOME 2被構建爲在Mozilla的XULRunner框架大C++插件。這個框架與Mozilla FireFox共享,因此有很多共同之處。 TomTom HOME是免費的(如在啤酒中)下載,模型部分是可讀的Javascript,所以你可以看看它是如何工作的。
其前身TomTom HOME 1.x的構建方式與Antony Carthy描述的一樣,在Mac上包裝MSHTML(IE)ActiveX控件或Safari。 (免責聲明:TomTom已經提交了許多專利申請來與嵌入式瀏覽器進行通信;與JS引擎的ActiveX接口相當有限)
如果您擁有適當的MVC設計,並且它也很容易在實施期間保持模型/視圖分離清潔。你不能在模型中加入「快速入侵」來暴露模型的一些內部細節。視圖代碼是Javascript,它只能通過定義的接口訪問C++模型。
查看Awesomium SDK。它基於Chromium,支持Google Chrome。它是C++或.NET中使用html5/js/css Web UI的原生應用程序的橋樑。
QtWebKit聽起來很有趣 - 但我想要一個GUI,它不需要強大的外部庫 - 只是一個符合標準的Web渲染器。 – Roderick 2009-07-09 02:10:02
如果這對你很重要,你可以靜態鏈接到Qt。 – 2009-07-09 07:35:19