如何将Tkinter程序打包并与他人共享?
Tkinter是一个跨平台tk GUI工具包,基于Python库,用于创建和开发基于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应用程序的窗口。
示例
在此示例中,我们将创建一个应用程序,询问用户输入名称,并通过他们的名称向用户问好。
# Import the required Libraries
from tkinter import *
from tkinter import ttk
# Create an instance of tkinter frame
win =Tk()
# Set the geometry of tkinter frame
win.geometry("750x250")
# Define a function to show a message
def myclick():
message="Hello "+ entry.get()
label=Label(frame, text=message, font=('Times New Roman', 14, 'italic'))
entry.delete(0, 'end')
label.pack(pady=30)
# Creates a Frame
frame =LabelFrame(win, width=400, height=180, bd=5)
frame.pack()
# Stop the frame from propagating the widget to be shrink or fit
frame.pack_propagate(False)
# Create an Entry widget in the Frame
entry =ttk.Entry(frame, width=40)
entry.insert(INSERT, "Enter Your Name")
entry.pack()
# Create a Button
ttk.Button(win, text="Click", command=myclick).pack(pady=20)
win.mainloop()
输出
现在,运行以下命令将给定代码转换为可执行文件。
pyinstaller --onefile -w filename
它将影响目录(dist文件夹),所有可执行文件将自动放置在其中。
当我们运行exe文件时,它将显示一个包含Entry小部件的窗口。如果单击“单击”按钮,则会在屏幕上显示问候语信息。