Web技术如何用于C ++应用程序GUI?

时间:2009-07-08 13:10:01

标签: c++ html css user-interface widget

Web技术可以用于使用C ++等传统语言编写的桌面应用程序吗?我猜他们可以,虽然我没有找到任何证据。我了解Adobe Air可以使用Flash制作桌面应用程序,但它使用像php等网络语言。我想做的是能够构建我的GUI元素 - 编辑框,滑块,菜单等,使用html / CSS - 而不是本机小部件 - 在一个以传统方式构建的应用程序中 - 例如使用Visual Studio。

有没有人知道这是否已经完成,是否有任何软件可以让它变得更容易,或者对这种方法有任何异议?

5 个答案:

答案 0 :(得分:4)

Qt正朝着这个方向前进,CSS-like styling和即将来临"declarative" UI mechanism

此外,您可以通过QtScript使用Javascript来推动您的应用。

你也可以使用QtWebKit提供基于HTML的UI,也可以在C ++代码和Javascript之间架起桥梁。

答案 1 :(得分:2)

xul使用xml和CSS来定义GUI元素。

答案 2 :(得分:1)

我参与过的应用程序,TomTom HOME 2是Mozilla XulRunner框架中的一个大型C ++插件。这个框架与Mozilla FireFox共享,因此有很多共性。 TomTom HOME是一个免费的(如啤酒)下载,模型部分是可读的Javascript,所以你可以看看它是如何工作的。

它的前身TomTom HOME 1.x就像Antony Carthy描述的那样构建,包含MSHTML(IE)ActiveX控件或Mac上的Safari。 (免责声明:TomTom提交了许多与嵌入式浏览器通信的专利申请; JS引擎的ActiveX接口相当有限)

如果你有一个合适的MVC设计,这是相当容易的,它使得在实现过程中保持模型/视图分离也很容易。你不能在模型中加入“快速入侵”来暴露模型的一些内部细节。 View代码是Javascript,只能通过定义的接口访问C ++模型。

答案 3 :(得分:1)

查看Awesomium SDK。它基于Chromium,为谷歌Chrome提供支持。它是使用html5 / js / css Web UI在C ++或.NET中构建本机应用程序的桥梁。

答案 4 :(得分:0)

作为副业,我已经使用IE表单控件构建了一个有效的应用程序,基本上将Web浏览器嵌入到我的应用程序中,这在我的目的中起了作用。

编辑:

http://msdn.microsoft.com/en-ca/library/aa770041(VS.85).aspx

https://stackoverflow.com/questions/tagged/mshtml