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では、テキストウィジェットを無効にしたい場合があります。これを実現するために、テキスト構成をDISABLEDとして設定できます。これにより、テキストウィジェットがフリーズし、読み取り専用になります。 この例では、テキストウィジェットと、ユーザーがテキストウィジェットを即座に無効化またはフリーズできるボタンを作成します。 例 #Import the library from tkinter import * #Create an instance of window win= Tk() #Set the geometry of the window win.geometry(
-
MacLaunchpadをより便利にする方法
ほとんどのMacユーザーがお気に入りのオペレーティングシステムの機能について考えるとき、Launchpadがリストの一番上にない可能性があります。 Launchpadに慣れていませんか?すべてのmacOSアプリを整理して整理する簡単な方法と考えてください。 残念ながら、Appleは過去数年間、この機能をあまり活用していません。これは、macOSユーザーがLaunchpadではなくSpotlightに引き寄せられているためと考えられます。ただし、更新の欠如にだまされてはいけません。 Launchpadの機能に精通していれば、Launchpadは強力です。 MacでLaunchpadを最大限に活