用于将UI设计与业务逻辑分离的C ++框架

时间:2010-09-09 22:30:10

标签: c++ flex4 mxml rich-internet-application

是否有用于构建富桌面应用程序的c ++框架?

基本上我正在寻找类似于Flex4 MXML的重要功能,将可视化表示和应用程序逻辑分离为xml。例如,Qt4是否允许在xml定义中指定视觉外观?这是基于状态的,因此UI会发生变化并具有新的可视内容,例如thisthis

2 个答案:

答案 0 :(得分:2)

使用Qt的Designer工具,您可以将UI设计分离为XML,然后UI编译器(uic工具)将其编译为UI类。

您的代码使用该类(通过委派或继承)来显示自己的GUI 并投入Qt的信号槽机制进行事件处理,你有一个天堂般的C ++ GUI应用开发框架:)

编辑:

虽然Qt有一个用XML指定UI的工具,但你并不总是 这样做。您可以以编程方式创建UI,但为什么有人会这样做,对吧?我学习使用Qt Designer的那天是我以编程方式停止创建UI的那一天。

我个人觉得Qt将UI与事件处理代码分开的范例(与netbeans UI设计器不同)是aaawwweeesssooommmeee。

答案 1 :(得分:0)

Qt。 XML在构建时编译成代码,因此UI保持静态(即,您必须重新编译才能更改它)。

只是FWIW,使用wxWidgets和XRC,您可以在XML中指定动态 UI - 即,XML文件与应用程序保持独立,更改XML文件会对UI进行匹配更改(在限制范围内) ,当然)。