什么是一个简单的、可测试的、跨平台的C++GUI



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

编辑:首选开放源码工具。

对不起,我回答有点晚

GUI编程中有很多选项。然而,既然你说你想要一些简单的东西,而不需要亚麻布和养眼剂,那么你的选择就缩小了一点。以下是我的建议:

QT

非常棒。不想听起来像诺基亚(或Trolltech)的传道者,但这个框架已经具备了一切。成熟的API,良好的设计,独立的平台,灵活的名称!然而,简单吗?好这不是一个优点,事实上,QT恰恰相反。它更倾向于极端沉重和武装精良的一方,绝对不是简单的。

GTK+

再次,非常酷。支持的平台比QT少,但有一个相当成熟的API,适用于您提到的所有平台,设计也相当棒。灵活性新的GTK+3非常灵活,但GTK+2(目前最新支持的Windows版本)在这方面有所欠缺。然而,它比QT更简单,不那么养眼。但它依赖于大量的第三方库,这对一些平台来说有点不利。

要比较以上两者,请参阅我以前的一个答案

FLTK

坦率地说,IMHO这是最适合您需求的工具包。它简单,独立于平台,非常容易部署和交叉编译,而且非常成熟(尽管它的社区不如GTK+和QT那么活跃)。它是基于OpenGL的,在所有平台上看起来都很相似(我不知道在这种情况下这是赞成还是反对)。它有一个非常宽松的许可证,你可以静态链接整个库,除了OpenGL之外没有任何依赖关系。在OpenGL支持的所有平台上运行。


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

总的来说,从您提到的需求来看,我认为FLTK非常适合您。不过如果你不满意的话,你也应该看看另外两个。

更新

测试框架

不幸的是,我还没有看到任何好的FLTK测试框架。对于QT,存在QTestLib。对于GTK来说,有一条狗尾巴。

建议您如上所述使用Qt。它是成熟的,并添加了新的功能。要测试用Qt编写的应用程序,您有以下选项

  1. Qt测试库
  2. 鱿鱼

关于QtCentre 的更多想法

更新:由于pyqt中支持Python和Qt,使用pyunit之类的东西创建测试套件将是一个不错的选择

我不知道对其他库的支持程度,但好的内容是-wxwindows和GTk-

QThttp://qt.nokia.com/products/qt-sdk/

您查看过Qt库吗?http://www.qt.io/

您可以尝试fltk,它是跨平台和轻量级的。另一个选择是qt

最新更新