Tkinter Python Entry 状态属性

0 投票
1 回答
960 浏览
提问于 2025-04-16 22:12

我想通过检查文本框的状态值来判断用户的光标是否在文本框里。但是,我遇到了一个错误:“AttributeError: Entry instance has no attribute 'state'”。我该如何检查用户的光标是否在文本框里呢?

import os

from Tkinter import *

textboxes = []

def read_textboxes():
    for e in textboxes:
        print e.state

root = Tk()
for i in range(5):
    textboxes.append(Entry(root))
    textboxes[i].insert(0,"I am textbox #"+str(i))
    textboxes[i].grid(row = i,column = 0)
button = Button(root,text = "Read Textboxes",command = read_textboxes)
button.grid(row = len(textboxes),columnspan = 99,pady = 10)
mainloop()

1 个回答

1

你可以在根节点上调用 focus_get() 来获取当前获得焦点的控件。

def read_textboxes():
    in_focus = root.focus_get()
    for e in textboxes:
        print e == in_focus

撰写回答