Computer >> Máy Tính >  >> Lập trình >> Python

Làm cách nào để kiểm tra xem tiện ích con có tiêu điểm trong Tkinter không?

Giả sử rằng chúng tôi muốn kiểm tra xem một tiện ích cụ thể có tập hợp tiêu điểm hay không. Cách duy nhất để kiểm tra tiêu điểm tiện ích con là sử dụng phương thức tiện ích focus_get () . Nó trả về đối tượng chứa thông tin của tiện ích con hiện đang được tập trung vào, trong quá trình thực thi chương trình. Chúng tôi sẽ sử dụng focus_get () phương pháp để tìm tiện ích con đang hoạt động trong quá trình thực thi chương trình của chúng tôi.

Ví dụ

Trong ví dụ này, chúng tôi đã tạo một widget Entry sẽ lấy tiêu điểm của nó khi chúng tôi nhấn phím . focus_get () phương thức sẽ trả về thông tin của tiện ích con hiện tại đang hoạt động.

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

Đầu ra

Chạy đoạn mã trên sẽ hiển thị một cửa sổ có chứa một nút. Khi chúng tôi nhấn phím , nó sẽ in đầu ra chứa thông tin của tiện ích con hiện đang được đặt tiêu điểm trên ngăn cửa sổ.

Làm cách nào để kiểm tra xem tiện ích con có tiêu điểm trong Tkinter không?

Bây giờ, khi chúng ta nhấn , nó sẽ hiển thị đầu ra trong shell là,

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