【问题标题】:Python in Desktop Application Development桌面应用程序开发中的 Python
【发布时间】:2012-02-09 12:31:01
【问题描述】:

我的公司正在改造 IT 基础架构和系统,因此我们正在敲定用于开发新系统的技术。

我们找到了两个候选人; Java 和 Python。

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

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

谁能指出我最好的 Python 桌面应用程序 GUI 框架?

【问题讨论】:

  • @CzarekTomczak 是否可以使用此 CEF 与 COM 或 USB 进行交互?

标签: java python desktop-application


【解决方案1】:

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

(PySide 是 PyQt 的派生词)。

构建接口,wx可以使用wxGlade,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 语言,它可以访问 SWING 等 Java 库提供的对象,也可以使用 JVM 线程模型。由于全局解释器锁,普通 Python 中的多线程很困难。 Jython 没有这种限制。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-04-18
      • 2011-12-19
      • 2010-10-30
      • 1970-01-01
      • 2013-03-18
      • 2011-04-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多