kna*_*ten 3 c++ tdd user-interface
我希望为 C++ 应用程序构建一个非常简单的 GUI。花哨、设计和先进功能并不重要。然而,重要的是我可以针对它编写自动化测试,以编程方式检查字段内容并单击按钮。它还需要至少在 Linux 和 Windows 上运行,最好也可以在 Mac 上运行。有什么建议么?
编辑:开源工具是高度首选的。
抱歉我回答有点晚了。
GUI 编程有很多选择。然而,既然你说你想要一些简单的东西,没有花哨和养眼的东西,那么选择范围就缩小了一些。以下是我的建议:
太棒了。我不想听起来像诺基亚(或奇趣科技)的布道者,但这个框架拥有一切。成熟的API、良好的设计、平台独立性、灵活性等等!然而,简单吗?嗯……这不是一个强点,事实上,QT 恰恰相反。它往往更多的是极其沉重和装备精良的一面,绝对不简单。
再说一次,非常酷。支持的平台比QT少,但有相当成熟的API,适用于你提到的所有平台,设计也很棒。灵活性?新的 GTK+ 3 非常灵活,但 GTK+ 2(Windows 当前最新支持的版本)在这方面有点缺乏。然而,它比 QT 更简单,不那么美观等。但它依赖大量的第三方库,这对于某些平台来说是一个缺点。
对于以上两者的比较,请参阅我之前的回答之一。
坦率地说,恕我直言,这是最适合您需求的工具包。它简单、独立于平台、非常容易部署和交叉编译并且相当成熟(尽管它的社区不如 GTK+ 和 QT 那么活跃)。它基于 OpenGL,并且在所有平台上看起来都非常相似(我不知道在这种情况下这是优点还是缺点)。它有一个相当宽松的许可证,您可以静态链接整个库,除了 OpenGL 之外没有任何依赖项。在 OpenGL 支持的所有平台上运行。
我希望为 C++ 应用程序构建一个非常简单的 GUI。花哨、设计和先进功能并不重要。然而,重要的是我可以针对它编写自动化测试,以编程方式检查字段内容并单击按钮。它还需要至少在 Linux 和 Windows 上运行,最好也可以在 Mac 上运行。
总的来说,从您提到的要求来看,我认为 FLTK 非常适合您。不过,如果您不满意,也应该看看其他两个。
更新:
测试框架:
不幸的是,我还没有看到任何好的 FLTK 测试框架。对于 QT,有 QTestLib。对于 GTK 有狗尾。