一尘不染

我应该选择什么:GTK +或Qt?

linux

有人可以建议当今这些库的最佳用途是什么?仅仅是GUI,还是它们也具有数据库,XML,网络,线程等支持?

我正在阅读有关它们的内容,并考虑开始学习/使用其中之一。

最常见的是什么?它们之间有什么区别?为什么要选择一个?


阅读 2065

收藏
2020-06-03

共1个答案

一尘不染

因为您似乎主要针对Linux,所以选择主要取决于您要使用的编程语言。

如果您使用C编写代码,那么显然可以使用GTK +

如果您使用C 编写代码,请使用Qt,否则您将需要Gtkmm(GTK +上的C 包装器)

如果您使用Python进行编码,则GTK
+和Qt都具有该语言的绑定:请参见PyGtkPyQtPySide(由诺基亚自己发行)。

如果您使用Java进行编码,则由于诺基亚不再使用Qt
Jambi
Qt的Java绑定),因此Qt不再是可行的选择。

同样,Qt在其场景图QGraphicsScene
API,基于Javascript
Core构建的脚本引擎(为WebKit提供动力的引擎),其状态机和动画框架以及声明性UI方面更为一流。

尽管您可以与Clutter一起使用,但GTK +并没有提供太多功能。

如果您专门研究DB,XML(GTK +具有用于XML子集的解析器)和线程(GTK
+具有GLib)的功能,则Qt将提供QtSqlQtXmlQtConcurrent中的所有功能。

总而言之,我会说Qt是肯定的选择。但是GTK +也非常有能力。

我不确定您是否会清楚地回答您的问题,这可以解释为什么有些人仍然偏爱Gnome而不是KDE,反之亦然。 选择最适合您的产品。

PS:我打算同时也瞄准Symbian,然后选择Qt。

编辑:Qt的另一个好处是QtWebView:它将Chromium带入您的Qt应用程序以显示Web内容。其他人则使用Awesomium或Berkelium将Web内容嵌入其应用程序。

2020-06-03