Python在桌面应用开发中的应用

15 投票
2 回答
14142 浏览
提问于 2025-04-17 10:09

我公司正在重新整顿IT基础设施和系统,所以我们现在正处于确定新系统开发技术的阶段。

我们考虑了两个候选语言:Java和Python。

选择的主要标准是这门语言必须是完整的,也就是说,它必须能够用于开发网页和桌面应用程序。Java在这方面已经证明了自己,有很多不错的网页框架(比如JSF、Hibernate等)和相对不错的图形用户界面库(比如SWT、Swing)。

不过,从我个人的经验来看,Python看起来更吸引人,因为用Python开发效率很高,我能在更短的时间内做更多的事情(我只在网页开发方面有Django的经验)。但是,关于桌面应用程序,我还没找到像Swing那样与IDE集成得很好的图形用户界面库。

有没有人能推荐一下Python中最好的桌面应用程序图形框架?

2 个回答

4

用Python来创建一个SWING图形界面应用是完全可以的。你可以看看Jython,它是为Java虚拟机(JVM)设计的Python版本。任何纯Python的库(没有编译的C代码)都可以在Jython中使用,包括大部分Python的标准库。

另外,由于Jython是JVM语言,它可以使用Java库提供的对象,比如SWING,同时也能利用JVM的多线程模型。在普通的Python中,多线程比较麻烦,因为有个叫全局解释器锁的东西限制了它的使用。而Jython就没有这个限制。

如果公司里其他人更倾向于使用Java,那么用Jython和SWING会是一个更安全的选择。因为当别人说你应该用Java,因为有很酷的库X可以用时,你只需要微笑着说,Jython也能使用很酷的库X,因为它是JVM语言。

15

在Python的图形用户界面(GUI)开发中,有三个主要的选择:

(PySide是PyQt的一个变种)。

如果你想要构建界面,可以使用wxGlade来为wxPython设计界面,而对于PyQt和PySide,你可以使用自带的QtDesigner(这两个工具都能把.ui文件转换成.py文件)。

这三种工具都使用了本地操作系统的控件,所以看起来会很自然。

尽管我在wx方面有更多的经验,但我其实更喜欢PyQt,因为我觉得它更容易上手。

至于开发Python GUI应用的集成开发环境(IDE),目前我知道的没有完全的应用程序,不过我个人使用的是PyDev,它是在Eclipse中运行的,可以帮你打开QtDesigner中的.ui文件,你保存后再运行工具生成.py文件,基本上可以顺利运行。

撰写回答