作为一个新手,如果我想创建一个小的GUI程序,我应该去哪里?[关闭]
题
我是一个新手,有一点用 BASIC、Python 编写的经验,最重要的是,还有一点汇编程序(作为视频游戏 ROM hack 的一部分)。我想创建一个小工具,用于修改特定文件中特定点的十六进制值,该工具将具有 GUI 界面。
我正在寻找的是创建小型 GUI 程序的能力,我可以将其作为 EXE(或者至少是独立目录)分发。我并不热衷于 .NET 语言的想法,因为我不想强迫人们下载大量的 .NET 框架包。我目前已经设置了带有 IDLE 和 Boa Constructor 的 Python,并且应用程序在那里运行。我尝试查找有关编译依赖于 Wxwidgets 的 python 应用程序的信息,但搜索结果和我找到的信息一直令人困惑,或者完全无法理解。
我的问题是:
- python 是适合此类项目的好语言吗?
- 如果我使用 Py2Exe,WxWidgets 是否已经包含在内?或者我的用户是否必须以某种方式在他们的计算机上安装 WxWidgets?我是否正确地认为 Py2Exe 只是生成一个独立的目录“dist”,其中包含用户只需双击并运行应用程序所需的文件?
- 如果程序仅依赖 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 不需要打印支持。
- Python 会满足您的需求。
- wxWidgets 和 Python 是完全不同的东西。我认为你指的是 wxPython,它是 Python 的 GUI 工具包。我不确定 Py2Exe 是否会包含这个,因为我从未使用过 Py2Exe - 我手动构建包及其依赖项。
- 很肯定 tkinter 会被包括在内。我用过一点 tkinter,它运行得很好。