【问题标题】:Is wxPython Needed on the End User's Computer最终用户的计算机上是否需要 wxPython
【发布时间】:2011-10-26 03:37:03
【问题描述】:

我正在制作解决和展示数学问题的程序。我想添加一个 GUI,我认为 wxPython 会是最好的。如果我将 wxPython 用于 GUI,最终用户是否需要在他们的计算机上使用 wxPython 才能将程序与 GUI 一起使用?如果没有,我应该使用什么?

这些应用程序将主要在 Windows 上使用,但我也希望它们在 Mac 和 Linux 上运行。我不确定是否有任何 Python GUI 元素可以通过 SL4A 在 Android 上运行,但如果您知道的话,将不胜感激。

另外,我知道 Tkinter 与 Python 捆绑在一起,但正如我所读到的,它是一种垂死的技术吗?

谢谢!

【问题讨论】:

  • tkinter 只是因为人们一直在模仿它而死。 Tk(tkinter 所基于的)继续发展和改进。它是一个非常好的工具包,可以解决各种各样的问题。它的受欢迎程度可能正在消亡,但它的用处不会。

标签: python user-interface wxpython tkinter


【解决方案1】:

有一些工具可以将 python 程序及其库打包成可以独立运行的可执行文件。我把这份清单放在手边:

http://www.freehackers.org/Packaging_a_python_program

我确信这些工具中至少有一个可以处理 wxPython,因为我几年前就做过了。 (抱歉,我不记得是哪一个了。)

是的,tkinter 的受欢迎程度多年来一直在下降。有关更多选项,请参阅此问题:

higher level Python GUI toolkit, e.g. pass dict for TreeView/Grid

【讨论】:

  • 根据概述pyinstaller处理wxwidgets (pyinstaller.org/wiki/SupportedPackages)
  • 想一想,这可能是我使用的那个。它还可以处理所有三个主要平台。
  • 我在 PyInstaller 上出售,但如果我将 PyInstaller 与 wxPython 一起使用,我分发应用程序的人是否需要安装 wxPython 才能使用该程序?
  • 我记得,没有。 wxPython 将与您的代码一起打包。您可能在组装软件包时必须阅读一些文档并为每个平台收集 wxWidgets 库。
【解决方案2】:

如果你的软件主要是复杂的处理,有一个相当简单的 UI,tkinter 可能就可以了

【讨论】:

    【解决方案3】:

    我为此使用cx_freeze 没有任何问题。在 Windows 和 Linux 上为我工作。

    【讨论】:

      【解决方案4】:

      Tkinter 带有 Python,因此在某些方面它可以更方便。另一方面,wxPython 使用操作系统的本机小部件(它有自己的优点和缺点)。我个人更喜欢 wxPython。但不,据我所知,Tkinter 并没有死。

      您可以使用 py2exe 在 Windows 上捆绑您的应用程序,也可以使用 cx_freeze 或 bb_freeze。还有 PyInstaller,我认为它可以创建某种 Linux 包,但文档有点令人困惑。对于 Mac,请参阅 py2app。

      我不知道有任何特定的适用于 Android 的 Python GUI 工具包。

      【讨论】:

      • tkinter 在 windows 和 OSX 上使用了许多原生小部件,并且已经使用了很长时间。
      • 从我多年来阅读的内容来看,Tkinter 应该是在绘制控件,而不是实际使用本机小部件。但是,我知道你有大量的 Tkinter 经验,所以你肯定会比我更了解。感谢您的澄清。
      【解决方案5】:

      PyInstaller.

      安装并运行。

      cmd -> python pyinstaller.py NAMEOFSCRIPT.py --onefile --noconsole.

      像 123 一样简单。

      【讨论】:

        猜你喜欢
        • 2020-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-05-26
        • 2020-12-11
        • 1970-01-01
        • 2014-04-14
        • 1970-01-01
        相关资源
        最近更新 更多