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

2022-09-03 14:11:21

我的公司正在改造IT基础设施和系统,因此我们正在完成开发新系统的技术。

我们选出了两位候选人。Java & Python。

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

然而,Python看起来更美味,因为从我个人的经验来看,Python的开发是有效的,我可以用更少的时间做更多的事情(我只有Django的Web开发经验)。但是,对于桌面应用程序,我还没有找到任何与IDE集成的好的GUI库作为Swing。

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


答案 1

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

(PySide是PyQt的衍生物)。

对于构建接口,您可以使用wxGlade for wx,以及为PyQt / PySide打包(两者都可以将文件转换为QtDesigner.ui.py

所有3个都使用本机操作系统小部件,因此可以在家中查看。

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

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


答案 2

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

此外,由于 Jython 是一种 JVM 语言,因此可以访问 Java 库(如 SWING)提供的对象,并且还可以使用 JVM 线程模型。由于全局解释器锁,普通Python中的多线程处理很困难。Jython没有这个限制。

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