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

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


ในการแปลงแอปพลิเคชัน Tkinter มาตรฐานเป็นไฟล์เรียกทำงานของหน้าต่าง โดยทั่วไปเราใช้แพ็คเกจ Pyintsaller มันแปลงไฟล์แอปพลิเคชันเป็นแอปพลิเคชันที่ปฏิบัติการได้ อย่างไรก็ตาม เราสังเกตเห็นว่าเมื่อเราเปิดไฟล์ปฏิบัติการ (หรือ .exe) ไฟล์นั้นจะแสดงเชลล์คำสั่งก่อนเปิดหน้าต่างแอปพลิเคชัน เราสามารถซ่อนหรือหลีกเลี่ยงคอนโซลได้โดยการระบุ pyinstaller --oneline filename --windowed คำสั่ง

ตัวอย่าง

ในตัวอย่างนี้ เราจะสร้างไฟล์ .exe ของโปรแกรมต่อไปนี้โดยใช้ PyInstaller

app.py

#Import the required libraries
from tkinter import *

#Create an instance of Tkinter Frame
win = Tk()

#Set the geometry
win.geometry("700x350")

#Set the default color of the window
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

ผลลัพธ์

เมื่อเราเรียกใช้ไฟล์ปฏิบัติการที่อยู่ในโฟลเดอร์ Dist จะแสดงหน้าต่างที่มีปุ่มและวิดเจ็ตป้ายกำกับ

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

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