有人可以建议当今这些库的最佳用途是什么?仅仅是GUI,还是它们也具有数据库,XML,网络,线程等支持?
我正在阅读有关它们的内容,并考虑开始学习/使用其中之一。
最常见的是什么?它们之间有什么区别?为什么要选择一个?
因为您似乎主要针对Linux,所以选择主要取决于您要使用的编程语言。
如果您使用C编写代码,那么显然可以使用GTK +
如果您使用C 编写代码,请使用Qt,否则您将需要Gtkmm(GTK +上的C 包装器)
如果您使用Python进行编码,则GTK +和Qt都具有该语言的绑定:请参见PyGtk,PyQt和PySide(由诺基亚自己发行)。
如果您使用Java进行编码,则由于诺基亚不再使用Qt Jambi(Qt的Java绑定),因此Qt不再是可行的选择。
同样,Qt在其场景图QGraphicsScene API,基于Javascript Core构建的脚本引擎(为WebKit提供动力的引擎),其状态机和动画框架以及声明性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内容嵌入其应用程序。
QtWebView