GUI开发:Qt vs GTK
我是新来的graphics用户界面编程。 我主要用C ++编写代码,我需要我的代码和GUI独立于操作系统,所以在做了一些研究之后,我无法在Qt或GTK之间做出决定。 我读过GTK更高效的内存,但也有一些网站表示它是在Qt 4之前。另外Qt有Qt Creator IDE,我认为它是C ++的一个很棒的IDE。 ¿谁都知道每个人的优点和缺点? 谢谢
耶,另一个Lib_One vs Lib_两种问题。 我喜欢回答这些。
要求
首先,没有完美的魔法工具箱可以满足每个人的需求。 你的select应该基于你正在做的事情 。
- 你只是想要一个GUI工具包? 还是你想要一个完整的应用程序开发框架与graphics,声音,图像IO等API?
- 你是针对一个特定的平台?
- 你需要额外的眼睛糖果吗?
- 你的客户想要什么?
- 你的目标是embedded式系统还是PC?
Gui工具包
GTK +和Qt都是相当成熟的面向对象的GUI工具包。 他们都是开源的,跨平台的,拥有大量的活跃社区。 GTK +被用作GNOME,LXDE和Xfce桌面环境的标准工具包,而Qt则用于KDE。 两者都用于开发专业应用程序,并经过时间考验。
跨平台兼容性
这两个工具包都支持几乎所有的主streamPC平台。
平台支持的平台:
- Windows XP
- Windows Vista
- Windows 7的
- Mac OS X
- Linux / Unix
另外Qt还支持:
- Symbian S60
- Windows CE
- WebOS的
- Android的
- Ubuntu手机
性能
这是严重的争议。 GTK +的传播者指向Qt应用程序的高内存消耗,而Qt的粉丝嘲笑GTK运行时的启动时间。 但总的来说,没有太大的区别。 现代个人电脑都运行得足够快。
专有使用和语言绑定
GTK +是LGPL许可的,所以它可以用于专有应用程序。 Qt是LGPL,GPL和专有许可证的三重许可。 如果您使用LGPL或购买专有许可证,则可以将Qt用于专有应用程序。
这两个工具包都具有所有stream行语言的绑定。 值得注意的绑定包括GTK#,GTK +的C#绑定,已经得到Mono项目的认可。 和Qt-Jambi,Qt绑定的Java,这是积极更新。
资源
这两个工具包都被广泛logging。 GTK +有自己的文档(GTK-Doc),Qt由诺基亚logging。 不过Qt在这方面可能略有优势,因为它背后拥有庞大的公司(诺基亚)庞大的资源和人力,而GTK +仅由其贡献者logging。 在互联网上的很多地方都有教程。 我更喜欢ZetCode 。
结论
正如你所看到的,他们两个都或多或less还不够好。 这个select实际上取决于我之前提出的观点:你的要求是什么?