<分区>
我希望为 C++ 应用程序构建一个非常简单的 GUI。花哨、设计和高级功能并不重要。然而,重要的是,我可以针对它编写自动化测试,以编程方式检查字段内容和单击按钮。它还需要至少在 Linux 和 Windows 上运行,最好也能在 Mac 上运行。有什么建议么?
编辑:开源工具是首选。
标签 c++ user-interface tdd
<分区>
我希望为 C++ 应用程序构建一个非常简单的 GUI。花哨、设计和高级功能并不重要。然而,重要的是,我可以针对它编写自动化测试,以编程方式检查字段内容和单击按钮。它还需要至少在 Linux 和 Windows 上运行,最好也能在 Mac 上运行。有什么建议么?
编辑:开源工具是首选。
最佳答案
对不起,我回答的有点晚。
GUI 编程有很多选择。然而,既然你说你想要一些没有天赋和养眼的简单东西,选择范围就会缩小一点。以下是我的建议:
非常棒。不想听起来像 Nokia(或 Trolltech)的布道者,但这个框架拥有一切。成熟的 API、良好的设计、平台独立性、灵 active 应有尽有!然而,简单?嗯……那不是强项,事实上,QT恰恰相反。它往往更偏向于极其沉重和装备精良的一面,绝对不简单。
再次,非常酷。支持的平台比 QT 少,但具有相当成熟的 API,适用于您提到的所有平台,设计也非常棒。灵 active ?好吧,新的 GTK+ 3 非常灵活,但 GTK+ 2(当前最新支持的 Windows 版本)在这方面有所欠缺。它比 QT 更简单,没有那么吸引眼球等。但是它依赖于大量的第三方库,这对某些平台来说有点不利。
以上两者的比较,见one of my previous answers .
坦率地说,恕我直言,这是最适合您需求的工具包。它简单、独立于平台、非常容易部署和交叉编译并且非常成熟(尽管它的社区不如 GTK+ 和 QT 活跃)。它基于 OpenGL,在所有平台上看起来都非常相似(我不知道在这种情况下这是赞成还是反对)。它有一个非常宽松的许可证,你可以静态链接整个库,除了 OpenGL 之外没有依赖项。 在 OpenGL 支持的所有平台上运行。
I am looking to build a very simple GUI for a C++ application. Fancyness, design and advanced features don't matter. What is important however, is that I can write automated tests against it, programmatically checking content of fields and clicking buttons. It also needs to run at least on Linux and Windows, preferably also Mac.
总的来说,从你提到的需求来看,我认为FLTK非常适合你。如果您不满意,还应该看看其他两个。
更新:
测试框架:
不幸的是,我还没有看到任何好的 FLTK 测试框架。对于 QT,有 QTestLib。对于 GTK,有 dogtail .
关于c++ - 什么是简单、可测试、跨平台的 C++ GUI?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9849851/