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

时间:2010-03-13 18:40:35

标签: python wxwidgets tkinter py2exe

我是一名新手,在使用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内容,那么EXE Py2Exe会产生吗?如果是这样,他们的任何“可视化”GUI构建器/ IDE只适用于Tkinter吗?
  4. 谢谢您的时间,

    JBMK

4 个答案:

答案 0 :(得分:4)

你最好去思考/说/ google wxPython(不是wxWidgets),因为wxPython是wxWidgets C ++的python包装器。

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

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

3.。)我从来没有使用Python的Tkinter与py2exe,但我不明白为什么它不会像wxPython那样工作。

你应该记住,你的最终可分发目录将是10s megs(py2exe打包python解释器和你app所需的其他库)。没有.NET框架那么多,但几乎并不是每个人都已经安装了它?

答案 1 :(得分:3)

如果您不害怕学习新语言,请考虑Tcl / Tk。我提到这个的原因是Tcl的优秀到几乎所有的分发机制,这使得包装单个文件exe非常容易,包括你需要的一切--Tcl / Tk运行时,程序,图标,声音文件等在嵌入式虚拟文件系统中。您在一个平台上使用的相同技术适用于所有人。您不必为不同的平台使用不同的工具。

如果这引起了你的兴趣,谷歌搜索starpack(包含所有内容的单个文件),starkit(独立于平台的应用程序)和tclkit(特定于平台的运行时)。

Tcl / Tk不是每个人都喝的茶,但作为一种入门的GUI语言,很难击败IMO。如果它有跟腱,那就是它没有印刷支撑。但令人惊讶的是,目前有多少GUI不需要打印支持。

答案 2 :(得分:0)

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

我最近将它们用于一个小应用程序,我喜欢这两个; Qt有一个很棒的Gui设计师和PyQt slot \ signal模型为我工作。

您可以使用py2app和py2exe在Osx和Windows上部署您的应用; here一个有用的链接,向您展示如何以及可能的大小结果。

答案 3 :(得分:0)

  1. Python符合您的需求。
  2. wxWidgets和Python完全不同。我认为你的意思是wxPython,它是Python的GUI工具包。我不确定Py2Exe是否会包含这个,因为我从未使用过Py2Exe - 我手动构建了包及其依赖项。
  3. 非常确定tkinter会被包括在内。我使用了tkinter,它运行得很好。