作为一名新手,如果我想创建一个小型GUI程序,我应该去哪里?

7

我是一个新手,有一点BASIC、Python和汇编语言(作为视频游戏ROM hack的一部分)编写经验。我想创建一个小工具,可以修改特定文件中特定位置的十六进制值,并且希望它有GUI界面。

我想要的是能够创建一个小型GUI程序,可以分发为EXE文件(或者至少是独立的目录)。我不喜欢使用.NET语言,因为我不想强制用户下载庞大的.NET框架包。我目前已经安装了Python和IDLE以及Boa Constructor,应用程序在这里运行。我尝试查找关于编译依赖于Wxwidgets的Python应用程序的信息,但搜索结果和我找到的信息都很令人困惑,或者完全无法理解。

我的问题是:

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

谢谢您的时间。

JBMK


大多数人已经拥有 .Net - 大多数人没有 Python... - BlueRaja - Danny Pflughoeft
4个回答

4
你最好考虑/说/搜索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框架那么大,但几乎每个人现在都已经安装了它,不是吗?

3
如果你不怕学习新语言,可以考虑使用Tcl/Tk。我提到这个的原因是Tcl拥有几乎优于其他所有发行机制,使得将所有需要的东西——Tcl/Tk运行时、程序、图标、声音文件等——包装成一个单一的文件exe非常容易,这些东西都嵌入在一个虚拟文件系统中。而且你使用的技术对于所有平台都适用,不需要为不同平台使用不同的工具。
如果这引起了你的兴趣,请搜索starpack(包含所有内容的单一文件)、starkit(跨平台应用程序)和tclkit(特定平台运行时)。
Tcl/Tk并不是每个人都喜欢的语言,但作为一个入门GUI语言,它很难被超越。如果它有弱点,那就是没有打印支持。然而,惊人的是,现在有多少GUI不需要打印支持。

0

对于一个多平台的GUI项目,我建议你使用Qt库PyQt

我最近为一个小应用程序使用了它们,我非常喜欢它们;Qt有一个很棒的GUI设计师和PyQt的槽/信号模型适合我的需求。

你可以使用py2app和py2exe在Osx和Windows上部署你的应用程序;这里提供了一个有用的链接,展示了如何操作以及可能的文件大小结果。


0
  1. Python会符合你的需求。
  2. wxWidgets和Python是完全不同的东西。我想你指的是wxPython,它是Python的GUI工具包。我不确定Py2Exe是否会包含它,因为我从未使用过Py2Exe——我手动构建软件包及其依赖项。
  3. 我很确定tkinter会被包含在内。我有点使用tkinter,它足够好用。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接