【问题标题】:Keypress event in entry box输入框中的按键事件
【发布时间】:2019-05-28 18:27:54
【问题描述】:

我使用 python tkinter 创建了一个计算器,但我想防止在显示正在计算的数字的输入框中输入任何字母,我希望输入只能通过按下按钮来确保输入是数字和数学运算符只是,这是生成框的代码

textbox = Entry(MBC,font=("Helvetica",20,"bold"),text=text_Input,bd=30,
                insertwidth=4,bg="powder blue",justify="right").grid(columnspan=4)

如果是文本输入框,如何让它只显示数学运算而不接受键盘输入?

【问题讨论】:

  • 您好,欢迎来到 SO。也许您应该尝试阅读指南以提问:stackoverflow.com/help/how-to-ask。帮助我们帮助你:)
  • 如果您只希望输入是按钮按下,为什么要有文本输入小部件?你的问题没有意义。
  • 这不是文本输入小部件,它是显示输入数字的框,当我在此处单击鼠标并输入字母时,它们会被输入但它们不会影响操作,我想防止他们被打字
  • @MazenM.Khattab 请显示生成您正在谈论的 tkinter 对象的代码。
  • 如果您可以在那里输入,那听起来确实像一个文本输入小部件。为什么不给minimal reproducible example,这样我们就不需要猜测我们看不到的代码了。

标签: python tkinter


【解决方案1】:

我想你可以在 Entry 中添加一个 state 参数:

myEntry = Entry(myWindow, state=DISABLED)

这里是一些关于 Entry 小部件的文档:https://www.tutorialspoint.com/python/tk_entry.htm

编辑

正如 cmets 中的某人所说,如果您不希望用户直接与之交互,则无需使用 Entry 小部件。一个简单的标签就可以完成这项工作,因为您只需要显示计算。

【讨论】:

  • 很好的答案(尤其是关于标签的部分)。正如您指向的文档明确指出的那样:“如果您想显示用户无法修改的一行或多行文本,那么您应该使用 Label 小部件。”
猜你喜欢
  • 1970-01-01
  • 2011-07-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-12-20
  • 1970-01-01
相关资源
最近更新 更多