【问题标题】:Tkinter focus on Entry when script run脚本运行时,Tkinter 专注于 Entry
【发布时间】:2017-12-05 12:52:36
【问题描述】:

我正在使用 tkinter 来做一些小的用户输入。 运行脚本时,我找不到如何将焦点设置到条目框。 IE。当窗口打开时,自动获得焦点的第一件事是输入框。 set_focus() 或 focus() 似乎不起作用。

这是我的代码:

root = Tk()
v = StringVar()
text = Entry(root,
        textvariable=v).grid(column=0,row=0)
text.focus_set()
root.mainloop()

【问题讨论】:

标签: python user-interface tkinter focus


【解决方案1】:

几何管理器(.grid(),或.pack(),等等...)返回None。您不能在分配给变量的同一行上使用它:

您的代码试图在变量text 上调用.focus_set(),该变量的值设置为None

此外,将焦点设置到小部件的正确方法是focus_set(),而不是set_focus()

root = Tk()
v = StringVar()
text = Entry(root, textvariable=v)
text.grid(column=0, row=0)
text. focus_set()
root.mainloop()

【讨论】:

  • 当我运行你的脚本时,它给了我 AttributeError: 'Entry' object has no attribute 'set_focus' 这个错误。
  • 是的,正确的方法是focus_set ,而不是set_focus。我更正了。
  • 我通过将其更改为 focus() 解决了这个问题。谢谢。它奏效了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-20
  • 2018-12-09
  • 1970-01-01
  • 2020-06-02
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多