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 >>