TKinter: получить переменную в классе Python и отправить в другой - PullRequest
2 голосов
/ 01 августа 2020

Мне нужно отправить одну переменную из одного класса в другой.

Мой код:

Класс, который я получаю,

class Application(tk.Tk):

    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        #TOOLBAR MENU
        toolbar = tk.Frame(self, bd = 1, relief = tk.RAISED)

        self.choicebutton = tk.Button(toolbar, command=self.choice)

        #TOOLBAR MENU
        toolbar = tk.Frame(self, bd = 1, relief = tk.RAISED)

Импортируемая переменная класса:

class Frame1(tk.Frame):

    def __init__(self, parent, *args, **kwargs):
        super().__init__(parent, *args, **kwargs)
        

        a.Application.choicebutton.config(state="disabled")

Я получил ошибку:

AttributeError: type object 'Application' has no attribute 'choicebutton'

Ответы [ 2 ]

1 голос
/ 01 августа 2020

Предположим, что parent - это объект Application:

class Frame1(tk.Frame):

    def __init__(self, parent, *args, **kwargs):
        super().__init__(parent, *args, **kwargs)

        parent.choicebutton.config(state="disabled")
0 голосов
/ 01 августа 2020

заменить последнюю строку на

a.Application().choicebutton.config(state="disabled")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...