Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Cách kiểm tra widget có focus trong Tkinter

Giả sử kiểm tra widget có focus hay không. Cách duy nhất dùng focus_get(). Trả về object chứa info widget đang focus khi chạy. Dùng focus_get() tìm widget active.

Ví dụ

Tạo Entry widget lấy focus khi bấm <Enter>. focus_get() trả về info widget active.

#Import Tkinter library
from tkinter import *
#Tạo instance Tkinter frame
win= Tk()
#Đặt geometry
win.geometry("750x250")
#Định nghĩa Event handlers
def event_show(event):
    label.config(text="Hello World")
    e.focus_set()
    print("focus is:" ,e.focus_get)
#Tạo Label
label= Label(win, text="Press Enter",font=('Helvetica 15 underline'))
label.pack()
#Tạo entry widget
e= Entry(win, width= 25)
e.pack(pady=20)
#Gắn hàm
win.bind('',lambda event:event_show(event))
win.mainloop()

Kết quả

Chạy mã hiển thị cửa sổ có nút. Bấm <Enter> in output widget info đang focus.

Cách kiểm tra widget có focus trong Tkinter

Bấm <Enter> hiển thị shell:

focus is : >