Я делаю генератор штрих-кода.Мне нужно, чтобы входные данные в классе GUI были прочитаны классом Barcode, чтобы он мог печатать строки на холсте.
from tkinter import *
class GUI(Frame):
def __init__(self, master=None):
...
self.code_input = Entry(master)
self.code_input.pack()
self.code = self.code_input.get()
...
self.barcode = Barcode(master, height=250, width=200)
self.barcode.pack()
self.barcode.draw()
....
class Barcode(Canvas):
def draw(self):
self.ean = GUI.code
Если я ссылаюсь напрямую, как указано выше, он говорит: AttributeError: type object 'GUI' has no attribute 'code'
Если я делаю метод наследования (на основе https://stackoverflow.com/a/19993844/10618936),class Штрих-код (Canvas, GUI)
он говорит так же, как и предыдущий
Если я использую методы setter и getter:
class GUI(Frame)
def __init__(self, master=None):
...
@property
def code(self):
return self.__code
@code.setter
def code(self, code):
self.__code = code
затем self.ean = GUI.code
, программа не запустится и скажет TypeError: 'property' object is not subscriptable
вместо
как я могу исправить эту проблему? Действительно ли структура моей программы плохая? Я вообще не очень хорош в программировании ... Я просто хочу, чтобы переменная в GUI была переведена в класс Barcode, чтобы она могла вычислятьи вернуть результат обратно в графический интерфейс для отображения штрих-кода