如何打包 Tkinter 程序以便与他人共享?
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 应用程序的窗口。
示例
在这个示例中,我们将创建一个应用程序,要求用户输入姓名,然后用他们的姓名向用户问候。
# 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 控件的窗口。如果我们点击“点击”按钮,它将在屏幕上显示一条问候消息。
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP