linux - 我应该选择什么 : GTK+ or Qt?

有人能建议今天这些库的最佳用途是什么吗?它只是 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/

相关文章:

linux - 来自守护程序 : "Conflict ... already in use by c

android - adb 不显示 nexus 5 设备

linux - 如何在不重新输入 SSH 密码的情况下执行 `git pull`?

python - 如何在 Python 中加入两个生成器?

python - numpy.where() 详细的分步说明/示例

installation - 如何从命令行正确设置 CMAKE_INSTALL_PREFIX

python - Seaborn地 block 没有出现

python - 是否有可能 "hack"Python 的打印功能?

python - 使用 PyCrypto AES 256 加密和解密

python - pandas loc vs. iloc vs. at vs. iat?