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

Tkinterウィンドウをタスクバーに表示するにはどうすればよいですか?


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

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

pystrayをインストールするには マシンで、「pipinstallpystray」と入力できます。 シェルまたはコマンドプロンプトでコマンドを実行します。

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

  • 必要なライブラリをインポートします-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("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ウィンドウをタスクバーに表示するにはどうすればよいですか?

ウィンドウを閉じると、タスクバーメニューにウィンドウアイコンが表示されます。


  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. Python Tkinterのルートウィンドウを削除するにはどうすればよいですか?

    Tkinterアプリケーションのテスト中に、Tkinterdefaultウィンドウまたはフレームを非表示にする必要がある場合があります。 Tkinterウィンドウを非表示にするか、破棄するかの2つの一般的な方法があります。 mainloop() 外部イベントによって閉じられなくなるまで、Tkinterウィンドウを実行し続けます。ウィンドウを破棄するには、 destroy()を使用できます 呼び出し可能なメソッド。 ただし、Tkinterウィンドウを非表示にするには、通常、ルートウィンドウまたはメインウィンドウで呼び出すことができる「withdraw」メソッドを使用します。 この例では、