快速提问。
我正在使用 Linux,我想尝试使用 Python 制作 GUI。我听说过 Qt、GTK+ 和 PyGTK 之类的东西,但我不知道它们到底是什么以及它们之间的区别是什么。
它们与 GNOME、KDE、XFCE 等不同 DE 的工作方式有什么不同吗?是否有任何 IDE 允许您像 Microsoft Visual Studio 一样创建 GUI(用于 C#、C、Visual Basic 等)?
或者我应该使用 Python 以外的其他语言来制作 GUI 应用程序?
快速提问。
我正在使用 Linux,我想尝试使用 Python 制作 GUI。我听说过 Qt、GTK+ 和 PyGTK 之类的东西,但我不知道它们到底是什么以及它们之间的区别是什么。
它们与 GNOME、KDE、XFCE 等不同 DE 的工作方式有什么不同吗?是否有任何 IDE 允许您像 Microsoft Visual Studio 一样创建 GUI(用于 C#、C、Visual Basic 等)?
或者我应该使用 Python 以外的其他语言来制作 GUI 应用程序?
你的第一步应该是http://wiki.python.org/moin/GuiProgramming
一些工具包在一种环境中的集成比在另一种环境中更好。例如 PyQt、PyKDE(和全新的PySide)将在 KDE 环境中运行得更好,而 GTK 版本(包括 WX-widgets)将更好地融入 GNOME/XFCE 桌面。
您应该查看您想要定位的环境。您可以选择基本的便携式 GUI 工具包,也可以与 Tour DE 进行更深入的集成,例如使用集成的密码管理器和配置文件解析器,这些都集成在特定的 DE(如 KDE 或 GNOME)中。
您还应该考虑您的选择所规定的依赖性,以及基本 DE 的默认设置。例如,KDE 3.X 分支中的 PyKDE 有一组重要的依赖项,而在 4.X 分支中,等离子绑定使 Python GUI 编程依赖项不再是一个问题。
有多种 IDE 工具,它们的完整性和成熟度各不相同。最好的办法是多试一试,看看哪种最适合您的需要。
我会避免使用另一种语言为 Python 制作 GUI。
我对 wxwidgets 很幸运,它是 WX 的 python 绑定,一个跨平台的开发系统。它很容易学习并且功能非常强大。wxwidgets 的问题在于它没有默认安装,因此您的用户需要在他们希望运行您的应用程序的每个平台上安装它。在http://wxwidgets.org/上找到有关它的更多信息。
如果您希望人们能够在不安装任何其他东西的情况下使用您的程序,请使用 Python 附带的 GUI 系统 Tkinter。
我会避免使用 GTK 或 KDE 的 Python 绑定,除非您已经了解这些系统。它们也需要下载,而且它们的采用率似乎没有 wxwidgets 那么多。
每个桌面环境都使用特定的工具包来构建它的组件。例如,KDE 使用 Qt,GNOME 使用 Gtk。
您对工具包的使用将取决于您所针对的桌面环境类型,如果您想针对广泛的桌面,请使用适用于许多桌面环境的工具包,例如 Wx 小部件Linux、Mac OS 和 Windows。对于构建简单的 GUI 应用程序,Tkinter 可以。
使用glade UI 设计器和 pyGtk 绑定...这是我第一次使用 python,并且有很多博客文章和教程可以帮助您入门
使用 PyGTK。与工具包一样重要的是它的基础,对于 PyGTK,你也可以使用 GLib,它的文件系统抽象(python 模块 gio)对于 Linux 桌面非常重要,它的高级跨桌面功能glib.get_user_data_dir()
和它的其他应用程序框架工具,以及 GObject 及其属性和信号模型。