我正在使用tkinter来做一些小的用户输入 . 运行脚本时,我找不到如何将焦点设置到Entry框 . 即当窗口打开时,第一个自动获得焦点的是Entry框 . set_focus()或focus()似乎不起作用 .
这是我的代码:
root = Tk() v = StringVar() text = Entry(root, textvariable=v).grid(column=0,row=0) text.focus_set() root.mainloop()
几何管理器( .grid() ,或 .pack() 等等)返回 None . 您不能在与变量赋值相同的行上使用它:
.grid()
.pack()
None
您的代码试图在变量 text 上调用 .focus_set() ,其值设置为 None .
text
.focus_set()
此外,将焦点设置为窗口小部件的正确方法是 focus_set() ,而不是 set_focus() .
focus_set()
set_focus()
root = Tk() v = StringVar() text = Entry(root, textvariable=v) text.grid(column=0, row=0) text. focus_set() root.mainloop()
1 回答
几何管理器(
.grid()
,或.pack()
等等)返回None
. 您不能在与变量赋值相同的行上使用它:您的代码试图在变量
text
上调用.focus_set()
,其值设置为None
.此外,将焦点设置为窗口小部件的正确方法是
focus_set()
,而不是set_focus()
.