【问题标题】:Tkinter: How to disable a button after it is pressed?Tkinter:按下按钮后如何禁用它?
【发布时间】:2023-04-10 07:31:01
【问题描述】:

所以我正在尝试使用 Tkinter 在 python 中制作刽子手,我已经基本完成了游戏,但是我想添加一个功能,一旦按下按钮就会禁用按钮,这样用户就不会猜两次相同的字母。知道如何实现它。

代码:https://drive.google.com/file/d/1v0tjlSZC_xHCQ0WopNPRJC1pLNaQ4wRR/view?usp=sharing

【问题讨论】:

  • 按钮小部件文档中介绍了禁用按钮。如果您根据该文档尝试了某些操作但它不起作用,请edit 您的问题包括minimal reproducible example
  • 请在您的问题中包含与您的问题相关的代码。

标签: python tkinter


【解决方案1】:

当您创建所有按钮时,不仅覆盖button 对象,button 对象也将是None,因为place() 不返回任何内容。 将该行一分为二:

button = Button(...) and
button.place(...)

但即便如此,每个新按钮都会覆盖按钮对象,因此按钮对象采用最后一个按钮“z”的值。

要禁用单个按钮,您需要能够访问每个按钮,例如通过将所有对象放在一个列表中:button[n] = Button(...) 然后在guess() 函数中,您必须完全禁用按下的那个按钮。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多