我是一个新手,有一点用 BASIC、Python 编写的经验,最重要的是,还有一点汇编程序(作为视频游戏 ROM hack 的一部分)。我想创建一个小工具,用于修改特定文件中特定点的十六进制值,该工具将具有 GUI 界面。

我正在寻找的是创建小型 GUI 程序的能力,我可以将其作为 EXE(或者至少是独立目录)分发。我并不热衷于 .NET 语言的想法,因为我不想强迫人们下载大量的 .NET 框架包。我目前已经设置了带有 IDLE 和 Boa Constructor 的 Python,并且应用程序在那里运行。我尝试查找有关编译依赖于 Wxwidgets 的 python 应用程序的信息,但搜索结果和我找到的信息一直令人困惑,或者完全无法理解。

我的问题是:

  1. python 是适合此类项目的好语言吗?
  2. 如果我使用 Py2Exe,WxWidgets 是否已经包含在内?或者我的用户是否必须以某种方式在他们的计算机上安装 WxWidgets?我是否正确地认为 Py2Exe 只是生成一个独立的目录“dist”,其中包含用户只需双击并运行应用程序所需的文件?
  3. 如果程序仅依赖 Tkinter 进行 GUI 操作,那么它会包含在 Py2Exe 生成的 EXE 文件中吗?如果是这样,他们是否有任何“可视化”GUI 构建器/仅使用 Tkinter 的 Python IDE?

感谢您的时间,

JBMK

有帮助吗?

解决方案

你最好思考/说/谷歌搜索 wxPython(而不是 wxWidgets),因为 wxPython 是 wxWidgets C++ 的 python 包装器。

1.) Python 是一种很好的语言。如果您只针对 Windows,我仍然会在 .NET/C# 中进行。如果你想要跨平台,就Python/wxPython。

2.) 是的,wxPython 文件应该包含在 dist 目录中。当然,您必须将 wxPython 安装到您的开发机器上。看 这里 有关如何构建的一些说明。py2exe 确实会生成一个目录,其中包含运行程序所需的所有内容。它会给你一个可以双击的 EXE 文件。

3.)我从未将Python的Tkinter与py2exe一起使用,但我不明白为什么它不能按照wxPython的方式工作。

您应该记住,您的最终可分发目录将是 10 兆字节(py2exe 打包了 python 解释器和您的应用程序所需的其他库)。虽然不如 .NET 框架那么多,但现在不是几乎每个人都已经安装了它吗?

其他提示

如果您不害怕学习一门新语言,请考虑 Tcl/Tk。我提到这一点的原因是 Tcl 优于几乎所有内容的分发机制,这使得打包一个包含您需要的所有内容的 exe 文件变得非常容易——Tcl/Tk 运行时、您的程序、图标、声音文件等。在嵌入式虚拟文件系统内。用于一个平台的相同技术适用于所有平台。您不必针对不同的平台使用不同的工具。

如果您对此感兴趣,请搜索 starpack(包含所有内容的单个文件)、starkit(独立于平台的应用程序)和 tclkit(特定于平台的运行时)。

Tcl/Tk 并不是每个人都喜欢的,但作为一种入门 GUI 语言,在我看来很难被击败。如果说它有一个致命弱点的话,那就是它没有打印支持。然而,令人惊讶的是,如今有多少 GUI 不需要打印支持。

对于多平台 GUI 项目,我建议您使用 Qt 库pyqt.

我最近将它们用于一个小型应用程序,我很喜欢它们;Qt 有一个很棒的 Gui 设计器,PyQt slot\signal 模型对我很有用。

您可以使用 py2app 和 py2exe 在 Osx 和 Windows 上部署您的应用程序; 这里 一个有用的链接,向您展示如何产生结果以及可能的尺寸。

  1. Python 会满足您的需求。
  2. wxWidgets 和 Python 是完全不同的东西。我认为你指的是 wxPython,它是 Python 的 GUI 工具包。我不确定 Py2Exe 是否会包含这个,因为我从未使用过 Py2Exe - 我手动构建包及其依赖项。
  3. 很肯定 tkinter 会被包括在内。我用过一点 tkinter,它运行得很好。
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top