一个快速的问题。
我正在使用Linux系统,并且想尝试用Python编写图形用户界面(GUI)程序。我听说过Qt、GTK+和PyGTK,但是我不知道它们具体是什么及其之间的区别。
它们在不同的桌面环境(DEs)例如GNOME、KDE、XFCE等方面工作是否有所不同?是否存在像 Microsoft Visual Studio(用于C#、C、Visual Basic等语言)那样允许您创建GUI的IDE呢?
或者说,我应该使用Python之外的其他语言来制作GUI应用程序吗?
一个快速的问题。
我正在使用Linux系统,并且想尝试用Python编写图形用户界面(GUI)程序。我听说过Qt、GTK+和PyGTK,但是我不知道它们具体是什么及其之间的区别。
它们在不同的桌面环境(DEs)例如GNOME、KDE、XFCE等方面工作是否有所不同?是否存在像 Microsoft Visual Studio(用于C#、C、Visual Basic等语言)那样允许您创建GUI的IDE呢?
或者说,我应该使用Python之外的其他语言来制作GUI应用程序吗?
你的第一步应该是访问http://wiki.python.org/moin/GuiProgramming
一些工具包在一个环境中的集成效果比另一个环境中要好。例如PyQt、PyKDE(和全新的PySide)在KDE环境下表现更好,而GTK版本(包括WX-widgets)则更适合于GNOME/XFCE桌面。
你应该考虑目标环境,可以选择基本的可移植GUI套件,或者更深入地集成到你的DE中,比如使用集成密码管理器和配置文件解析器,这些都是在特定的DE中集成的,如KDE或GNOME。
你还应该考虑你的选择所决定的依赖关系以及基本DE默认提供的内容。例如,在KDE 3.X分支中,PyKDE有一组非常复杂的依赖关系,而在4.X分支中,plasma绑定使得Python GUI编程的依赖关系不再是一个问题。
有几个IDE工具,不同的完整性和成熟度水平。最好的方法是尝试其中一个或多个,看哪个最适合你的需求。
使用PyGTK。与工具包同样重要的是其基础,使用PyGTK还需使用GLib,以及它的文件系统抽象(Python模块gio),这对于Linux桌面非常重要,还有高级跨桌面功能,例如glib.get_user_data_dir()
以及其他应用程序框架工具,和GObject及其属性和信号模型。