แอปพลิเคชัน System Tray ถูกสร้างขึ้นเพื่อการใช้งานโปรแกรมอย่างต่อเนื่อง เมื่อใดก็ตามที่ผู้ใช้ปิดแอปพลิเคชัน แอปพลิเคชันจะได้รับสถานะทำงานบนแถบงาน ในการระบุแอปพลิเคชันถาดระบบ เราสามารถจัดเตรียมรูปภาพหรือไอคอนให้กับแอปพลิเคชัน
ในการสร้างไอคอน System Tray ของแอปพลิเคชัน tkinter เราสามารถใช้โมดูล pystray ใน Python มีฟังก์ชันและวิธีการในตัวมากมายที่สามารถใช้กำหนดค่าไอคอนถาดระบบของแอปพลิเคชันได้
ในการติดตั้ง pystray ในเครื่องของคุณ คุณสามารถพิมพ์ "pip install pystray " ในเชลล์หรือพรอมต์คำสั่งของคุณ
หากต้องการสร้างไอคอน System Tray คุณสามารถทำตามขั้นตอนเหล่านี้ได้
-
นำเข้าไลบรารีที่จำเป็น - Pystray , Python PIL หรือ หมอน .
-
กำหนดฟังก์ชัน hide_window() เพื่อถอนหน้าต่างและจัดเตรียมไอคอนให้กับซิสเต็มเทรย์
-
เพิ่มและกำหนดสองรายการเมนู "แสดง " และ "เลิก ".
-
เพิ่มคำสั่งในรายการเมนูโดยกำหนดฟังก์ชันสำหรับแสดงและออก
ตัวอย่าง
# Import the required libraries from tkinter import * from pystray import MenuItem as item import pystray from PIL import Image, ImageTk # Create an instance of tkinter frame or window win=Tk() win.title("System Tray Application") # Set the size of the window win.geometry("700x350") # Define a function for quit the window def quit_window(icon, item): icon.stop() win.destroy() # Define a function to show the window again def show_window(icon, item): icon.stop() win.after(0,win.deiconify()) # Hide the window and show on the system taskbar def hide_window(): win.withdraw() image=Image.open("favicon.ico") menu=(item('Quit', quit_window), item('Show', show_window)) icon=pystray.Icon("name", image, "My System Tray Icon", menu) icon.run() win.protocol('WM_DELETE_WINDOW', hide_window) win.mainloop()
ผลลัพธ์
หากคุณเรียกใช้โค้ดข้างต้น จะแสดงหน้าต่างแอปพลิเคชัน
หากเราปิดหน้าต่าง หน้าต่างจะยังคงปรากฏในทาสก์บาร์เป็นแอปพลิเคชันถาดระบบ