Python可以在多个平台上工作,可以用于桌面和web应用程序,因此我得出结论,有某种方法可以将它编译成Mac、Windows和Linux的可执行文件。

问题是我不知道从哪里开始或如何写一个GUI与它,谁能在这一点上提供一些光,并指出我在正确的方向请?


当前回答

首先,你需要一些带有Python绑定的GUI库,然后(如果你想要的话)一些将你的Python脚本转换为独立可执行文件的程序。

带有Python绑定的跨平台GUI库(Windows, Linux, Mac)

当然,有很多,但我在野外看到的最受欢迎的是:

Tkinter——基于Tk GUI工具包(实际上是python的标准GUI库,商业项目免费) WxPython——基于WxWidgets(流行,免费用于商业项目) Qt使用PyQt绑定或Qt for Python。前者对于商业项目来说不是免费的。后者不太成熟,但可以免费使用。

完整的列表在http://wiki.python.org/moin/GuiProgramming

单个可执行文件(所有平台)

PyInstaller -最活跃的(也可以用于PyQt) fbs -如果你选择Qt以上

单个可执行文件(Windows)

Py2exe -曾经是最流行的

单个可执行文件(Linux)

冻结-工作方式与py2exe相同,但目标是Linux平台

单个可执行文件(Mac)

py2app -同样,工作方式类似于py2exe,但目标是Mac OS

其他回答

! ! !KIVY ! ! !

我很惊讶没有人提到Kivy!!

我曾经用Tkinter做过一个项目,虽然他们确实提倡它已经改进了很多,但它仍然给我一种windows 98的感觉,所以我换了Kivy。

我一直在遵循一个教程系列,如果它有帮助……

为了让大家了解kivy的样子,看看这个(我正在做的项目):

我才花了一个星期的时间! 你问Kivy的好处是什么?检查这个

我选择它的原因是,它的外观和它也可以用于移动设备。

PySimpleGUI包装了tkinter,适用于Python 3和2.7。它还可以在Qt、WxPython和web浏览器上运行,在所有平台上使用相同的源代码。

您可以使用在tkinter中找到的所有相同的小部件(滑块、复选框、单选按钮……)来创建自定义gui。代码往往非常紧凑且可读。

#!/usr/bin/env python
import sys
if sys.version_info[0] >= 3:
    import PySimpleGUI as sg
else:
    import PySimpleGUI27 as sg

layout = [[ sg.Text('My Window') ],
          [ sg.Button('OK')]]

window = sg.Window('My window').Layout(layout)
button, value = window.Read()

正如PySimpleGUI文档中所解释的,要构建运行的.EXE文件:

pyinstaller -wF MyGUIProgram.py

您可以使用appJar进行基本的GUI开发。

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()

请参阅appJar站点上的文档。

使用pip install appjar命令行进行安装。

你不需要为Mac/Windows/Linux编译python。它是一种解释语言,因此您只需要在您选择的系统上安装Python解释器(它适用于所有三个平台)。

至于跨平台的GUI库,Python的Tk/Tcl小部件库工作得很好,我相信它足够跨平台。

Tkinter是Tk/Tcl的python接口

来自python项目网页:

Tkinter并不是唯一的GuiProgramming Python工具包。然而 最常用的一种,几乎是 只有一个是可移植的 Unix, Mac和Windows

首先,你需要一些带有Python绑定的GUI库,然后(如果你想要的话)一些将你的Python脚本转换为独立可执行文件的程序。

带有Python绑定的跨平台GUI库(Windows, Linux, Mac)

当然,有很多,但我在野外看到的最受欢迎的是:

Tkinter——基于Tk GUI工具包(实际上是python的标准GUI库,商业项目免费) WxPython——基于WxWidgets(流行,免费用于商业项目) Qt使用PyQt绑定或Qt for Python。前者对于商业项目来说不是免费的。后者不太成熟,但可以免费使用。

完整的列表在http://wiki.python.org/moin/GuiProgramming

单个可执行文件(所有平台)

PyInstaller -最活跃的(也可以用于PyQt) fbs -如果你选择Qt以上

单个可执行文件(Windows)

Py2exe -曾经是最流行的

单个可执行文件(Linux)

冻结-工作方式与py2exe相同,但目标是Linux平台

单个可执行文件(Mac)

py2app -同样,工作方式类似于py2exe,但目标是Mac OS