AttributeError:'Button'对象没有属性'set' - tkinter

时间:2011-11-19 21:30:42

标签: tkinter attributeerror

我收到错误:

self.button.set(str(self))
AttributeError: 'Button' object has no attribute 'set'

我无法弄清楚要改变什么以使其发挥作用。

以下是代码的重要部分:

class Cell:
    def show_word(self):
            """ Shows the word behind the cell """
            if self.hidden == True:
                self.hidden = False
            else:
                self.hidden = True

            self.button.set(str(self))

class Memory(Frame):
    def create_widgets(self):
        """ Create widgets to display the Memory game """
        # instruction text
        Label(self,
              text = "- The Memory Game -",
              font = ("Helvetica", 12, "bold"),
              ).grid(row = 0, column = 0, columnspan = 7)

        # buttons to show the words
        column = 0
        row = 1
        the_pairs = self.readShuffle()
        for index in range(36):
            temp = Button(self,
                   text = the_pairs[index],
                   width = "7",
                   height = "2",
                   relief = GROOVE,
                   command = lambda x = index: Cell.show_word(the_pairs[x])
                   )
            temp.grid(row = row, column = column, padx = 1, pady = 1)
            column += 1
            the_pairs[index].button = temp
            if column == 6:
                column = 0
                row += 1

1 个答案:

答案 0 :(得分:4)

Button没有set属性 Tkinter小部件属性使用以下两种替代样式设置:

self.button["text"] = str(self)

self.button.config(text=str(self))

使用其中一个