GTK 和 QT 有什么区别?

GTK 和 QT 有什么区别?

请多多包涵,因为我是 Linux 新手。我一直在用REALbasic我在 Mac 上工作了几年。我正在尝试学习 Python,并且想为 Linux 编写 GUI 应用程序(主要是 Ubuntu 和 Mint,因为它们是我可以访问的发行版,而且它们似乎是最受欢迎的)。我主要有三个问题:

  1. GTK 和 QT 之间有什么显著的区别吗
  2. 我曾经在 Ubuntu 上玩过quicklyGlade,但我知道它们基于 GTK 2,而这已经过时了。对吗?
  3. 是否有任何一体化编辑器可以让我设计一个 GUI,然后向其中添加 Python 代码?(例如,在编辑器中的窗口中添加一个按钮,双击该按钮,然后添加按下按钮时要执行的 Python 代码)

抱歉,如果这些问题真的很愚蠢,但我想从一开始就学习“正确”的工具。

答案1

我会尽力回答您的问题,但不会带太多疯狂的方向。

  1. 尽管它们都是小部件库,但它们却有很大不同。常规 GTK+ 基于 C,而 QT 基于 C++。尽管几乎所有编程语言都存在绑定。

  2. 尽管有很多 GTK2 应用程序,但您对 GTK2 的看法相当正确。我预计 GTK2 会像 GTK1 一样被使用一段时间。当情况变得紧急时,GTK2 将被弃用,如果您是新人,请使用 GTK3。

  3. 记住 GTK 和 QT 只是小部件工具包。例如... Gnome 应用程序,使用 GTK 和 Gnome-Libs。如果您想要,请查看 vala。它很简单,vala 直接将源代码编译为 C,并且具有许多编程语言的完整绑定。您可能还想看看 Anjuta,只需确保您拥有新的 gtk3 版本。显然,PyGTK 仅支持 GTK2,这是我上次检查的最新版本。如果您想避免使用所有 Linux DE 库,我建议您查看 QT。普通 QT 与包含 KDE 库的 KDE 应用程序不同。QT 被认为是非常跨平台的,如果您想为非 *nix 编译,这很酷。如果您想开始使用 QT + Python,请查看 PySide (LGPL) 或 PyQT (GPL)。QT 有一些很好的 GUI 构建器,如 qt creator 和 qt-designer。

答案2

GTK 和 Qt 是开源跨平台用户界面工具包和开发框架。这是 Linux 上使用最广泛的两个框架,因为它们是开源的,并为开发人员提供了设计图形用户界面的强大工具包。GTK 用作 GNOME、LXDE 和 Xfce 桌面环境的标准工具包,而 Qt 用于 KDE。

如果你用 C 语言编写代码,那么显然应该选择 GTK+

如果你用 C++ 编码,那么就选择 Qt,否则你将需要 Gtkmm(GTK+ 上的 C++ 包装器)

如果您使用 Python 编写代码,GTK+ 和 Qt 都具有该语言的绑定:请参阅 PyGtk、PyQt 和 PySide(诺基亚自己推出的)。

答案3

Qt 主要用于 KDE,而 GTK+ 主要用于 GNOME。因此,如果您想为 GNOME 进行开发,请考虑使用 GTK+,因为 GNOME 系统上应该已经安装了 GTK+ 库的必要依赖项;最终用户无需安装它们。GTK+ 开发也受益于一个名为Glade 界面设计师;如果您愿意,您可以使用它来创建您的用户界面。

相关内容