重要提示:这种方法比实际任务需要的工作量要长很多。但是,它确实带来了一些无关的好处。请注意,可能有更好的方法,但这个方法也可以。
总之,继续......
你可以使用py2app
。
Py2app
会将您的程序转换为一个.app
,这意味着它以应用程序的形式运行(因为它就是应用程序)。当使用tkinter
时,这通常是您最终想要的,因为GUI通常被转换为应用程序以方便使用。您可以阅读py2app文档here,或者阅读一个非官方但更易于理解(我个人认为)的教程here。我还会总结如何进行此过程。
首先安装py2app
:
在命令提示符中输入以下内容:
sudo pip install -U py2app
如果成功,您应该得到
py2app
。
如果不成功,可能的一个问题是您没有
pip
。您可以使用另一个命令下载它:
sudo easy_install pip
步骤一:
在与程序相同的目录中创建名为
setup.py
的文件。
步骤二:
将此内容放入文件中。
from setuptools import setup
APP = ['example.py']
DATA_FILES = []
OPTIONS = {
'argv_emulation': False,
'iconfile': 'app.icns',
}
setup(
app=APP,
name='Your app’s name',
data_files=DATA_FILES,
options={'py2app': OPTIONS},
setup_requires=['py2app'],
)
步骤3:
然后在文件所在的目录中打开bash终端,并输入以下命令:
python setup.py py2app -A
-A
参数使应用程序能够响应代码更新,但也会使应用程序无法共享。当你完成开发后,重新运行命令,这次不需要使用-A
参数,就像这样:
python setup.py py2app
注意:对于 Python 3 的 py2app,您可能需要使用命令
python3 setup.py py2...
而不是
python setup.py py2...
。
步骤4:
导航到包含您的代码的字典
dist
。在该文件夹中将会有您的应用程序。(当您运行命令时,在第三步中应该已经创建了
dist
文件夹)
对于 Windows 用户:不应使用 py2app,而应使用
py2exe。
ico
只适用于 Windows。Linux 也有自己的文件类型。尝试使用 gif 文件,看看效果如何。 - Mike - SMTgif
应该在所有系统上都可以使用。 - Mike - SMTmacOS
(它使用X11
作为窗口管理器)。更改此类窗口的title
属性足够简单,但是在 Mac 上,窗口始终使用默认的X11
图标,而不管tkinter
是否指向图标。顺便说一下,您应该只需调用root.iconphoto(True, img)
而不是调用tk
来设置图标... - l'L'lx11
图标,或者只是icon.x11
? - Jake