Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ซ่อนคอนโซลของไฟล์ .exe ที่สร้างด้วย PyInstaller ใน Tkinter


เพื่อแปลงแอปพลิเคชัน 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 ที่สร้างด้วย PyInstaller ใน Tkinter

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