แอปพลิเคชัน System Tray จะถูกสร้างขึ้นบนทาสก์บาร์เสมอ เมื่อใดก็ตามที่ผู้ใช้ปิดแอปพลิเคชัน แอปพลิเคชันจะได้รับสถานะทำงานบนแถบงาน ในการระบุแอปพลิเคชัน System Tray เราสามารถจัดเตรียมรูปภาพหรือไอคอนให้กับแอปพลิเคชัน
ในการสร้างไอคอน System Tray ของแอปพลิเคชัน Tkinter เราสามารถใช้ pystray โมดูลในภาษาไพทอน มีฟังก์ชันและวิธีการในตัวมากมายที่สามารถใช้กำหนดค่าไอคอน System Tray ของแอปพลิเคชันได้
ในการติดตั้ง pystray ในเครื่องของคุณ คุณสามารถพิมพ์ "pip install pystray" คำสั่งในเชลล์หรือพรอมต์คำสั่งของคุณ
ในการสร้างไอคอน System Tray คุณสามารถทำตามขั้นตอนด้านล่าง -
-
นำเข้าไลบรารีที่จำเป็น – Pystray หลาม 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("image.ico")
menu=(item('Quit', quit_window), item('Show', show_window))
icon=pystray.Icon("name", image, "title", menu)
icon.run()
win.protocol('WM_DELETE_WINDOW', hide_window)
win.mainloop() ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น จะแสดงหน้าต่างแอปพลิเคชันพร้อมวิดเจ็ตและองค์ประกอบบางอย่างในนั้น

หากปิดหน้าต่างจะแสดงไอคอนหน้าต่างในเมนูทาสก์บาร์