编辑:强烈推荐使用开源工具。
抱歉我回答晚了一些。
好吧,在GUI编程方面有很多选择。然而,既然你说你想要简单的东西而没有花哨的效果,那么选择就会少一点。这是我的建议:
非常棒。不想听起来像是Nokia(或Trolltech)的鼓吹者,但这个框架拥有所有你需要的东西。成熟的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,有dogtail。
您可以尝试使用 fltk,它是跨平台和轻量级的。另外一个选择是 qt。