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

จะทำให้ Tkinter Window ปรากฏในทาสก์บาร์ได้อย่างไร?


แอปพลิเคชัน 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()

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น จะแสดงหน้าต่างแอปพลิเคชันพร้อมวิดเจ็ตและองค์ประกอบบางอย่างในนั้น

จะทำให้ Tkinter Window ปรากฏในทาสก์บาร์ได้อย่างไร?

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