gpt4 book ai didi

python - Tkinter - 如何禁用现有按钮

转载 作者:太空宇宙 更新时间:2023-11-04 10:48:22 25 4
gpt4 key购买 nike

我正在尝试使用 Tkinter 禁用按钮:

from Tkinter import *
import os


class OptionWindow:




def __init__(self, value):

self.master = Tk()
self.master.minsize(500,500)
self.b1 = Button(self.master, text = "save Game", command =self.saveGame, state = NORMAL).grid(row = 0, column = 1, sticky = W)

def saveGame(self):
from modules.startingKit import options
options.saved = True
self.b1.configure (state = DISABLED)

然而,出于某种原因,当我按下“保存游戏”按钮时,它的外观并没有改变。我必须做什么才能禁用它?

最佳答案

你犯了一个很常见的错误,可能是因为互联网上有几个教程犯了同样的错误。

在 Python 中,如果您执行 x=foo().bar()x 将得到 bar() 的结果。在您的代码中,您正在执行 self.b=Button(...).grid(...)。因此,self.b 被设置为 grid(...) 的结果。 grid(...) 总是返回 None。正因为如此,执行 self.b.configure(...) 与执行 None.configure(...) 是一样的,这显然不会做什么你认为它会做。

解决方案是在单独的步骤中进行小部件创建和小部件布局:

self.b1 = Button(...)
self.b1.grid(...)

关于python - Tkinter - 如何禁用现有按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15691392/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com