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

ウィジェットがTkinterにフォーカスを持っているかどうかをどのように確認しますか?


特定のウィジェットにフォーカスされたセットがあるかどうかを確認したいとします。ウィジェットのフォーカスを確認する唯一の方法は、ユーティリティメソッド focus_get()を使用することです。 。プログラムの実行中に、現在フォーカスされているウィジェットの情報を含むオブジェクトを返します。 focus_get()を使用します プログラムの実行中にアクティブなウィジェットを見つける方法。

この例では、キーを押すとフォーカスを取得するエントリウィジェットを作成しました。 focus_get() メソッドは、アクティブな現在のウィジェットの情報を返します。

#Import the Tkinter library
from tkinter import *
#Create an instance of Tkinter frame
win= Tk()
#Define the geometry
win.geometry("750x250")
#Define Event handlers for different Operations
def event_show(event):
   label.config(text="Hello World")
   e.focus_set()
   print("focus is:" ,e.focus_get)
#Create a Label
label= Label(win, text="Press Enter",font=('Helvetica 15 underline'))
label.pack()
#Create an entry widget
e= Entry(win, width= 25)
e.pack(pady=20)
#Bind the function
win.bind('<Return>',lambda event:event_show(event))
win.mainloop()

出力

上記のコードを実行すると、ボタンを含むウィンドウが表示されます。 キーを押すと、現在ウィンドウペインにフォーカスされているウィジェットの情報を含む出力が出力されます。

ウィジェットがTkinterにフォーカスを持っているかどうかをどのように確認しますか?

ここで、を押すと、シェルに出力が次のように表示されます

focus is : <bound method Misc.focus_get of <tkinter.Entry object .!entry >>

  1. Tkinterのテキストウィジェットにスクロールバーをアタッチするにはどうすればよいですか?

    Tkinterテキストウィジェットは、複数行のユーザー入力を受け入れるために使用されます。エントリウィジェットに似ていますが、唯一の違いは、テキストウィジェットが複数行のテキストをサポートしていることです。テキストウィジェットを作成するには、テキストオブジェクトをインスタンス化する必要があります。 複数のテキストを追加するには、ScrollBarを追加する必要があります。テキストウィジェットにスクロールバーを追加するために、 ScrolledText(root)を呼び出すことができます。 働き。この関数は通常、スクロールバー付きのテキストフィールドを作成します。 ScrolledText

  2. Tkinterウィジェットを非表示にするにはどうすればよいですか?

    tkinterウィジェットを非表示にするには、 pack_forget()を使用できます。 方法。通常、ウィンドウからウィジェットのマップを解除するために使用されます。 例 次の例では、ラベルテキストと、ラベルテキストウィジェットで非表示のイベントをトリガーするために使用できるボタンを作成します。 #Import the required libraries from tkinter import * #Create an instance of tkinter frame win= Tk() #Set the geometry of frame win.geometry("6