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

จะสร้างไอคอน System Tray ของแอปพลิเคชัน Tkinter ได้อย่างไร?


ไอคอน System Tray ใช้สำหรับแสดงสถานะการทำงานของแอปพลิเคชันในแถบงาน โดยทั่วไปจะแสดงว่าแอปพลิเคชันใดกำลังทำงานอยู่ ไอคอนถาดระบบจะปรากฏในแถบงาน

ในการสร้างไอคอน System Tray ของแอปพลิเคชัน tkinter เราสามารถใช้ pystray โมดูลในภาษาไพทอน มีฟังก์ชันและวิธีการในตัวมากมายที่สามารถใช้กำหนดค่าไอคอนถาดระบบของแอปพลิเคชันได้

วิธีติดตั้ง 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("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()

ผลลัพธ์

หากคุณจะเรียกใช้โค้ดข้างต้น มันจะแสดงหน้าต่าง

จะสร้างไอคอน System Tray ของแอปพลิเคชัน Tkinter ได้อย่างไร?

เมื่อเราปิดหน้าต่าง หน้าต่างจะยังคงปรากฏในแถบงานเป็นไอคอนถาดระบบ

จะสร้างไอคอน System Tray ของแอปพลิเคชัน Tkinter ได้อย่างไร?