要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是无关紧要的,因为它们往往会吸引固执己见的答案和垃圾邮件。相反,describe the problem以及到目前为止为解决这个问题所做的工作。
关闭 8 年前。
有人能建议今天这些库的最佳用途是什么吗?它只是 GUI,还是它们也有数据库、XML、网络、线程等支持?
我正在阅读它们,并考虑开始学习/使用其中之一。
什么是最常见的?他们之间有什么区别?你为什么会选择一个而不是另一个?
最佳答案
由于您似乎主要针对 Linux,因此选择主要取决于您要使用的编程语言。
如果你用 C 编写代码,那么显然选择 GTK+
如果您使用 C++ 编写代码,请选择 Qt,否则您将需要 Gtkmm (GTK+ 上的 C++ 包装器)
如果您使用 Python 编写代码,GTK+ 和 Qt 都有该语言的绑定(bind):请参阅 PyGtk , PyQt和 PySide (诺基亚自己推出的一款)。
如果您使用 Java 编写代码,Qt 不再是一个可行的选择,恕我直言,Nokia discontinued Qt Jambi (Qt 的 Java 绑定(bind))。
此外,Qt 的场景图更加一流 QGraphicsScene API,它的脚本引擎建立在 Javascript Core(支持 WebKit 的引擎),它的状态机和动画框架,以及 declarative UI .
虽然您可以使用 Clutter,但 GTK+ 并没有提供那么多。和它一起。
如果您专门研究 DB、XML(GTK+ 有一个 XML 子集的解析器)和线程(GTK+ 有 GLib)特性,那么 Qt 将在 QtSql 中提供所有这些特性。 , QtXml和 QtConcurrent .
总而言之,我会说 Qt 是一个确定的选择。但 GTK+ 也非常有能力。
我不确定您的问题是否会得到明确的答案,这解释了为什么有些人一直更喜欢 Gnome 而不是 KDE,反之亦然。 选择最适合您的。
PS:我打算也以 Symbian 为目标,然后选择 Qt。
编辑:Qt 的另一个优点是 QtWebView
:它将 Chromium 带入您的 Qt 应用程序以显示 Web 内容。其他人则使用 Awesomium 或 Berkelium 将 Web 内容嵌入到他们的应用程序中。
https://stackoverflow.com/questions/1887070/