还有PyGTK,它基本上是Gnome Toolkit的Python包装器 . 我've found it easier to wrap my mind around than Tkinter, coming from pretty much no knowledge of GUI programming previously. It works pretty well and has some good tutorials. Unfortunately there isn'是一个Python 2.6 for Windows的安装程序,可能暂时不会 .
# I'd use tkinter for python 3
import tkinter
tk = tkinter.Tk()
tk.geometry("400x300+500+300")
l = Label(tk,text="")
l.pack()
e = Entry(tk)
e.pack()
def click():
e['text'] = 'You clicked the button'
b = Button(tk,text="Click me",command=click)
b.pack()
tk.mainloop()
# After this I would you py2exe
# search for the use of this module on stakoverflow
# otherwise I could edit this to let you know how to do it
from appJar import gui
num=1
def myfcn(btnName):
global num
num +=1
win.setLabel("mylabel", num)
win = gui('Test')
win.addButtons(["Set"], [myfcn])
win.addLabel("mylabel", "Press the Button")
win.go()
11 回答
首先,您将需要一些带有Python绑定的GUI库,然后(如果您需要)某些程序将您的python脚本转换为独立的可执行文件 .
Cross-platform GUI libraries with Python bindings (Windows, Linux, Mac)
当然,有很多,但我在野外看到的最受欢迎的是:
Tkinter - 基于Tk GUI toolkit(用于python的事实上的标准GUI库,免费用于商业项目)
WxPython - 基于WxWidgets(受欢迎,免费用于商业项目)
Qt使用PyQt bindings或Qt for Python . 前者不适用于商业项目 . 后者不太成熟,但可以免费使用 .
完整清单位于http://wiki.python.org/moin/GuiProgramming
Single executable (all platforms)
PyInstaller - 最活跃的
fbs - 如果您选择上面的Qt
Single executable (Windows)
Single executable (Linux)
Single executable (Mac)
另一个系统(尚未在接受的答案中提及)是PyInstaller,当py2exe不能时,它可以用于我的PyQt项目 . 我发现它更容易使用 .
http://www.pyinstaller.org/
Pyinstaller基于Gordon McMillan的Python安装程序 . 哪个不再可用 .
py2exe的另一个工具是bbfreeze,它为windows和linux生成可执行文件 . 它已经发现它在没有配置的情况下可以更好地运行,适用于各种各样的应用程序 .
还有PyGTK,它基本上是Gnome Toolkit的Python包装器 . 我've found it easier to wrap my mind around than Tkinter, coming from pretty much no knowledge of GUI programming previously. It works pretty well and has some good tutorials. Unfortunately there isn'是一个Python 2.6 for Windows的安装程序,可能暂时不会 .
由于现在默认情况下几乎每个非Windows操作系统都安装了python,因此您唯一需要确保安装的是所有非标准库 .
话虽如此,可以构建包含python解释器的可执行文件,以及您使用的任何库 . 但是,这可能会创建一个大型可执行文件 .
MacOS X甚至包括Xcode IDE中的支持,用于创建完整的独立GUI应用程序 . 这些可以由运行OS X的任何用户运行 .
我不确定这是最好的方法,但是当我在Windows上部署Ruby GUI应用程序(不是Python,但就.exe而言有相同的“问题”)时,我只想写一个C#中的短 Launcher 调用我的主脚本 . 它编译成可执行文件,然后我有一个应用程序可执行文件 .
对于GUI本身:
PyQT几乎是参考 .
开发快速用户界面的另一种方法是编写Web应用程序,让它在本地运行并在浏览器中显示应用程序 .
另外,如果你选择lubos hasko建议的Tkinter选项,你可能想尝试使用portablepy让你的应用程序在没有Python的Windows环境中运行 .
py2exe
然后你应该使用py2exe,例如,引入一个文件夹运行应用程序所需的所有文件,即使用户在他的电脑上没有python(我说的是windows ...对于苹果操作系统,没有必要我认为,一个可执行文件,因为它带有python而不需要安装它 .
创建此文件
1)创建setup.py
使用此代码:
将其保存在文件夹中
2)将您的程序放在setup.py的同一文件夹中,在该文件夹中放入您希望使其可分发的程序:es:l4h.py
ps:更改文件的名称(从l4h到你想要的任何东西,这是一个例子)
3)从该文件夹运行cmd(在文件夹上,右键单击shift并在此处选择start cmd)
4)写入cmd:> python setup.py py2exe
5)在dist文件夹中有你需要的所有文件
6)你可以拉链并分发它
Pyinstaller
从cmd安装它
**
**
从文件所在文件夹的cmd运行它
**
**
您不需要为Mac / Windows / Linux编译python . 它是一种解释型语言,因此您只需要在您选择的系统上安装Python解释器(它可用于所有三个平台) .
对于跨平台工作的GUI库,Python的Tk/Tcl小部件库工作得非常好,我相信它是足够的跨平台 .
Tkinter是Tk / Tcl的python接口
从python项目网页:
PySimpleGUI包装tkinter并在Python 3上运行和2.7 . 您可以使用在tkinter中找到的所有相同小部件(滑块,复选框,单选按钮等)制作自定义GUI . 代码往往非常紧凑和可读 .
正如PySimpleGUI Documentation中所述,到build the .EXE file你运行:
您可以使用
appJar
进行基本GUI开发 .请参阅appJar site处的文档 .
使用
pip install appjar
从命令行进行安装 .