AttributeError: у объекта 'Button' нет атрибута 'set' - tkinter - PullRequest
1 голос
/ 20 ноября 2011

Я получаю сообщение об ошибке:

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 Ответ

5 голосов
/ 20 ноября 2011

Button не имеют атрибута set.
Свойства виджета Tkinter задаются с помощью этих двух альтернативных стилей:

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

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

Используйте один из них

...