Python
 Computer >> コンピューター >  >> プログラミング >> Python

Tkinterでシステムトレイアプリケーションを作成するにはどうすればよいですか?


プログラムを継続的に実行するために、システムトレイアプリケーションが作成されます。ユーザーがアプリケーションを閉じると、その状態がタスクバーで実行されます。システムトレイアプリケーションを識別するために、そのアプリケーションに画像またはアイコンを提供できます。

tkinterアプリケーションのシステムトレイアイコンを作成するには、Pythonでpystrayモジュールを使用できます。アプリケーションのシステムトレイアイコンを構成するために使用できる多くの組み込み関数とメソッドがあります。

マシンにpystrayをインストールするには、「 pip installpystray」と入力します。 "シェルまたはコマンドプロンプトのコマンド。

システムトレイアイコンを作成するには、次の手順に従います。

  • 必要なライブラリをインポートします-Pystray 、Python PIL または

  • 関数を定義するhide_window() ウィンドウを撤回し、システムトレイにアイコンを提供します。

  • 表示」という2つのメニュー項目を追加して定義します "と"終了 "。

  • 表示と終了の関数を定義して、メニュー項目にコマンドを追加します。

# 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()

出力

上記のコードを実行すると、アプリケーションウィンドウが表示されます。

Tkinterでシステムトレイアプリケーションを作成するにはどうすればよいですか?

ウィンドウを閉じても、システムトレイアプリケーションとしてタスクバーに表示されます。

Tkinterでシステムトレイアプリケーションを作成するにはどうすればよいですか?


  1. Tkinterテキストウィジェットを読み取り専用にする方法は?

    Tkinterでは、テキストウィジェットを無効にしたい場合があります。これを実現するために、テキスト構成をDISABLEDとして設定できます。これにより、テキストウィジェットがフリーズし、読み取り専用になります。 この例では、テキストウィジェットと、ユーザーがテキストウィジェットを即座に無効化またはフリーズできるボタンを作成します。 例 #Import the library from tkinter import * #Create an instance of window win= Tk() #Set the geometry of the window win.geometry(

  2. MacLaunchpadをより便利にする方法

    ほとんどのMacユーザーがお気に入りのオペレーティングシステムの機能について考えるとき、Launchpadがリストの一番上にない可能性があります。 Launchpadに慣れていませんか?すべてのmacOSアプリを整理して整理する簡単な方法と考えてください。 残念ながら、Appleは過去数年間、この機能をあまり活用していません。これは、macOSユーザーがLaunchpadではなくSpotlightに引き寄せられているためと考えられます。ただし、更新の欠如にだまされてはいけません。 Launchpadの機能に精通していれば、Launchpadは強力です。 MacでLaunchpadを最大限に活