- Trending Categories
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
Physics
Chemistry
Biology
Mathematics
English
Economics
Psychology
Social Studies
Fashion Studies
Legal Studies
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How to make a system tray application in Tkinter?
A System Tray application is created for the continuous execution of the program. Whenever an application is closed by the user, it will get its state running on the taskbar. To identify a system tray application, we can provide an image or icon to its application.
To create a System Tray icon of a tkinter application, we can use pystray module in Python. It has many inbuilt functions and methods that can be used to configure the system tray icon of the application.
To install pystray in your machine, you can type "pip install pystray" command in your shell or command prompt.
To create a System Tray icon, you can follow these steps,
Import the required libraries - Pystray, Python PIL or Pillow.
Define a function hide_window() to withdraw window and provide the icon to the system tray.
Add and define two menu items, "Show" and "Quit".
Add a Command in the menu items by defining a function for Show and Quit.
Example
# 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()
Output
If you run the above code, it will display the application window.
If we close the window, it will still appear in the taskbar as the system tray application.
- Related Articles
- How to create a System Tray icon of a Tkinter application?
- How to set the tab order in a Tkinter application?
- How to display a tkinter application in fullscreen on macOS?
- How to bundle a Python Tkinter application including dependencies?
- How to make a Tkinter widget invisible?
- How to make a Tkinter canvas rectangle transparent?
- How to make a Tkinter window not resizable?
- How to create a borderless fullscreen application using Python-3 Tkinter?
- How to make a Tkinter window jump to the front?
- How to make a new folder using askdirectory dialog in Tkinter?
- How to make Tkinter Window appear in the taskbar?
- How to make specific text non-removable in tkinter?
- How to make a Button using the Tkinter Canvas widget?
- Inheriting from Frame or not in a Tkinter application
- How to make a Button Hover to change the Background Color in Tkinter?
