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

时间:2012-03-24 07:09:28

标签: c++ user-interface tdd

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

编辑:开源工具是首选。

5 个答案:

答案 0 :(得分:3)

建议您使用上面提到的Qt。它已经成熟,并且增加了新功能。要测试用Qt编写的应用程序,您有以下选项

  1. QtTestLib
  2. Squish
  3. 还有一些想法on QtCentre

    更新:由于在pyqt中支持Python和Qt,因此使用类似pyunit的内容创建测试套件将是一个不错的选择

    我不知道对其他图书馆的支持程度,但是好的竞争者是 - wxwindows和GTk

答案 1 :(得分:3)

对不起,我回答的时间有点迟了。

GUI编程有很多选择。然而,既然你说你想要一些简单而没有风格和眼睛糖果的东西,那么选择就会缩小一些。以下是我的建议:

QT

非常棒。不想听起来像诺基亚(或奇趣科技)的传道者,但这个框架拥有一切。成熟的API,良好的设计,平台独立性,灵活性,您的名字!但是,简单吗?嗯......这不是一个强点,事实上,QT恰恰相反。它往往更加沉重,装备精良,绝对不简单。

GTK+

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

有关上述两者的比较,请参阅one of my previous answers

FLTK

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


  

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

总的来说,根据您提到的要求,我认为FLTK非常适合您。如果你不满意的话,你也应该看看其他两个。

<强>更新

测试框架

不幸的是,我还没有看到任何有关FLTK的测试框架。对于QT,有QTestLib。对于GTK,有dogtail

答案 2 :(得分:2)

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

答案 3 :(得分:2)

答案 4 :(得分:0)

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