桌面应用程序开发中的Python

时间:2012-01-13 09:21:46

标签: java python desktop-application

我的公司正在改进IT基础架构和系统,因此我们正在最终确定开发新系统的技术。

我们来了两位候选人; Java&蟒。

选择的主要标准是语言必须完整;从某种意义上说它必须能够用于网络和桌面应用开发。 Java已被证明是这个领域,有许多优秀的Web框架(JSF,Hibernate等)和相对优秀的GUI库(SWT,Swing)。

然而,根据我的个人经验,Python看起来更加美味,Python的开发效率很高,我可以用更少的时间做更多的事情(我只有使用Django进行Web开发的经验)。但是,对于桌面应用程序,我还发现任何与IDE集成的良好GUI库作为Swing。

有人能为我指出最好的用于Python桌面应用程序的GUI框架吗?

2 个答案:

答案 0 :(得分:15)

对于Python GUI,有3个主要选项:

(PySide是PyQt的推导)。

为了构建界面,可以使用wxGlade表示wx,使用PyQt / PySide打包QtDesigner(两者都可以将.ui文件转换为.py < / p>

所有3个都使用本机操作系统小部件,所以看起来就像在家里一样。

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

对于用于开发Python GUI应用程序的集成IDE,没有任何(afaik)完整的应用程序,但是,我个人在PyDev中使用Eclipse,可以处理打开.ui您保存的QtDesigner中的文件运行该工具以生成.py文件,并且它将完美无瑕地工作。

答案 1 :(得分:4)

完全可以使用Python构建SWING GUI应用程序。寻找Jython,它是JVM的Python。 Python的任何纯Python(没有编译的C代码)库都可以与Jython一起使用,包括大多数Python标准库。

此外,由于Jython是一种JVM语言,它可以访问由Java库(如SWING)提供的对象,也可以使用JVM线程模型。由于Global Interpreter Lock,普通Python中的多线程很难实现。 Jython没有这个限制。

如果公司中的其他人倾向于Java,那么使用SWING的Jython将是一个更安全的选择,因为当人们说你应该使用Java因为Cool Library X可用时,你只是微笑并说Jython也可以利用酷库X因为Jython是一种JVM语言。