当前位置: 首页 > 面试题库 >

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

严昀
2023-03-14
问题内容

有人可以建议当今这些库的最佳用途是什么?仅仅是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内容嵌入其应用程序。



 类似资料:
  • 我用<code>列表视图</code>创建了一个活动。这是一个朋友。 我想让它选择将其添加到另一个。 我不知道选择哪个<code>视图</code>最好<代码>循环视图或

  • 我们应该在什么时候选择抛出一个异常? 我们可以在try catch中捕获此异常。 在哪种情况下,我们选择使用投掷而不是立即接球?是否与设计模式相关?

  • 问题内容: 更新数据库时我更喜欢什么?哪种方法的优缺点是什么,什么时候应该使用另一种方法? 问题答案: 在第一个示例中,对数据的更改在遇到刷新后会反映在数据库中,但仍在事务中。 但是在第二个示例中,您将立即提交事务。因此,对数据库所做的更改以及事务也在那里结束。 有时,刷新可能有助于将数据保留在正在进行的事务之间,然后最终提交更改。因此,如果以后发生某些问题,例如批量插入/更新,您也可以回滚以前的

  • 问题内容: 我注意到,如果我对打开的文件进行迭代,则无需“读取”该文件即可更快地对其进行迭代。 即 比 第二个循环将花费大约1.5倍的时间(我在完全相同的文件上使用了timeit,结果是0.442对0.660),并且会得到相同的结果。 所以-我什么时候应该使用.read()或.readlines()? 由于我一直需要遍历正在读取的文件,并且在学习了艰难的方式之后,.read()在大数据上的运行速度

  • 问题内容: 流式XML解析器(例如SAX和StAX)比构建像DOM解析器之类的树结构的解析器更快,内存效率更高。SAX是推送分析器,这意味着它是观察者模式(也称为侦听器模式)的实例。SAX首先出现,然后是StAX- 拉式解析器,这意味着它基本上像迭代器一样工作。 您可以找到在任何地方都偏爱StAX而不是SAX的原因,但是通常可以归结为:“更易于使用”。 在JAXP上的Java教程中,StAX被模糊

  • 问题内容: 我正在使用Max OS X Mountain Lion,java -version返回“ 1.6.0_37”。但是我无法使用导入的com.apple.eawt。*类编译项目。 我必须安装什么才能在系统上安装Apple Java Extensions? 任何帮助,将不胜感激! 更新 : 我从编译器收到以下错误: 更新2 : XCode版本4.5.2已安装 更新3 : 我的问题的原因是在类