เพื่อแปลงแอปพลิเคชัน Tkinter มาตรฐานเป็นไฟล์ executable สำหรับ Windows เรามักใช้แพ็กเกจ PyInstaller มันแปลงไฟล์แอปพลิเคชันเป็นแอปพลิเคชันที่รันได้ อย่างไรก็ตาม เราสังเกตเห็นว่าเมื่อเปิดไฟล์ executable (หรือ .exe) จะแสดง command shell ก่อนเปิดหน้าต่างแอปพลิเคชัน เราสามารถซ่อนหรือหลีกเลี่ยงคอนโซลได้โดยระบุคำสั่ง pyinstaller --onefile filename --windowed
ตัวอย่าง
ในตัวอย่างนี้ เราจะสร้างไฟล์ .exe ของโปรแกรมต่อไปนี้ด้วย PyInstaller
app.py
# นำเข้าไลบรารีที่จำเป็น
from tkinter import *
# สร้างอินสแตนซ์ของ Tkinter Frame
win = Tk()
# กำหนดขนาด
win.geometry("700x350")
# ตั้งค่าสีพื้นหลังเริ่มต้นของหน้าต่าง
win.config(bg='#aad5df')
def display_text():
Label(win, text="Hello World!", background='white', foreground='purple1').pack()
Button(win, text="Click Me", background="white", foreground="black", font=('Helvetica 13 bold'), command=display_text).pack(pady=50)
win.mainloop()
ตอนนี้ เปิดเทอร์มินัลในตำแหน่งเดียวกับที่บันทึก app.py และรันคำสั่ง:
> pyinstaller --onefile app.py --windowed
มันจะสร้าง app.exe ในโฟลเดอร์ Dist
ผลลัพธ์
เมื่อรันไฟล์ executable ในโฟลเดอร์ Dist จะแสดงหน้าต่างที่มีปุ่มและ Label widget

สังเกตว่าไฟล์ .exe ไม่ได้แสดง command shell ก่อนเปิดหน้าต่างแอปพลิเคชัน