如何打包 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 控制元件的視窗。如果我們點選“點選”按鈕,它將在螢幕上顯示一條問候訊息。

更新於:2021年6月18日

3K+ 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告