c++ - 什么是简单、可测试、跨平台的 C++ GUI?

标签 c++ user-interface tdd

<分区>

我希望为 C++ 应用程序构建一个非常简单的 GUI。花哨、设计和高级功能并不重要。然而,重要的是,我可以针对它编写自动化测试,以编程方式检查字段内容和单击按钮。它还需要至少在 Linux 和 Windows 上运行,最好也能在 Mac 上运行。有什么建议么?

编辑:开源工具是首选。

最佳答案

对不起,我回答的有点晚。

GUI 编程有很多选择。然而,既然你说你想要一些没有天赋和养眼的简单东西,选择范围就会缩小一点。以下是我的建议:

QT

非常棒。不想听起来像 Nokia(或 Trolltech)的布道者,但这个框架拥有一切。成熟的 API、良好的设计、平台独立性、灵 active 应有尽有!然而,简单?嗯……那不是强项,事实上,QT恰恰相反。它往往更偏向于极其沉重和装备精良的一面,绝对不简单。

GTK+

再次,非常酷。支持的平台比 QT 少,但具有相当成熟的 API,适用于您提到的所有平台,设计也非常棒。灵 active ?好吧,新的 GTK+ 3 非常灵活,但 GTK+ 2(当前最新支持的 Windows 版本)在这方面有所欠缺。它比 QT 更简单,没有那么吸引眼球等。但是它依赖于大量的第三方库,这对某些平台来说有点不利。

以上两者的比较,见one of my previous answers .

FLTK

坦率地说,恕我直言,这是最适合您需求的工具包。它简单、独立于平台、非常容易部署和交叉编译并且非常成熟(尽管它的社区不如 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/

相关文章:

ruby-on-rails - Rails 中的 stub 模型方法

.net - 帮助我开始在 Visual Studio 2008 中进行单元测试

c++ - libcurl:一段时间后,curl_easy_perform 失败并显示 CURLE_SSL_CACERT_BADFILE

c++ - 转换问题

java边框图形用户界面

javascript - 如何隐藏其他标签的内容,只显示选中标签的内容

c++ - 在一个函数中嵌入不同的函数 : functor or lambda?

c++ - 模板类中构造函数的语法

vb.net - 多色 RichTextBox

wpf - IdeaBlade有哪些局限性?