如何打包 Tkinter 程序以与他人共享?

tkinterpythongui-programming更新于 2025/7/19 1:48:17

Tkinter 是一个基于 Python 库的跨平台 tk GUI 工具包,用于创建和开发基于 GUI 的应用程序。Tkinter 应用程序可以捆绑在可执行或可运行文件中,这样应用程序就可以在不使用 Python 解释器或 IDLE 的情况下运行。当用户想要与其他人共享应用程序而不共享代码片段时,捆绑应用程序的需求就成为优先事项。

Python 有各种模块和扩展,允许用户将正在运行的应用程序转换为可执行的便携式文件。每个文件都在不同的平台上运行;因此,为了使其可供所有操作系统访问,Python 为 Windows、MacOS 或基于 Linux 的操作系统提供了软件包。

在这里,我们将使用 Python 中的 Pyinstaller  包将应用程序捆绑成可执行文件。为了安装 Pyinstaller,您可以使用以下命令 −

pip install pyinstaller

安装后,我们可以按照步骤将 Python 脚本文件(包含 Tkinter 应用程序文件)转换为可执行文件。

  • 在 Windows 操作系统中使用 pip install pyinstaller 安装 pyinstaller 。现在,输入以下命令并按 Enter。

pyinstaller --onefile -w filename
  • 检查文件(脚本文件)的位置,您将找到一个 dist  文件夹,其中包含可执行文件。

  • 当我们运行该文件时,它将显示 tkinter 应用程序的窗口。

示例

在此示例中,我们将创建一个应用程序,该应用程序将要求用户输入姓名,并以他们的名字向用户致意。

# 导入所需的库
from tkinter import *
from tkinter import ttk

# 创建 tkinter 框架的实例
win =Tk()

# 设置几何图形tkinter frame
win.geometry("750​​x250")

# 定义一个函数来显示一条消息
def myclick():
   message="Hello "+ entry.get()
   label=Lab​​el(frame, text=message, font=('Times New Roman', 14, 'italic'))
   entry.delete(0, 'end')
   label.pack(pady=30)

# 创建框架
frame =LabelFrame(win, width=400, height=180, bd=5)
frame.pack()

# 阻止框架传播小部件以缩小或适合
frame.pack_propagate(False)

# 在框架中创建一个 Entry 小部件
entry =ttk.Entry(frame, width=40)
entry.insert(INSERT, "Enter Your Name")
entry.pack()

# 创建一个按钮
ttk.Button(win, text="Click", command=myclick).pack(pady=20)

win.mainloop()

输出

现在,运行以下命令将给定的代码转换为可执行文件。

pyinstaller --onefile -w filename

它将影响所有可执行文件自动放置的目录(dist 文件夹)。

当我们运行 exe 文件时,它将显示一个包含 Entry 小部件的窗口。如果我们单击"单击"按钮,它将在屏幕上显示一条问候消息。


相关文章


有用资源