У меня есть три разных класса: один называется guiCreate, а другой называется iconBlockGen и main. Всякий раз, когда что-то истинно в iconBlockGen, iconBlockGen будет вызывать функцию (addPayment ()) из класса, созданного в gui (guiCreate), который добавляет новый элемент в список.
Я пытался создавать объекты разными и хакерскими способами, но у меня возникает одна и та же проблема, несмотря ни на что. Код:
blockgen.py:
import gui
import main
class iconBlockGen():
def startLoop(self):
gui.guiCreate.addPayment() # this is the command that causes the issue since it doesn't know know what the attribute is or whatever
gui.py
import blockgen
import tkinter as tk
class guiCreate(Frame):
def __init__(self, master, **kwargs):
pad = 3
x = master.winfo_screenwidth() - pad
y = master.winfo_screenheight() - pad
Frame.__init__(self, master)
self.recievingAdress = Listbox(self.master, width=int(x / 40), height=int(y / 24))
self.recievingAdress.pack(side=tk.RIGHT)
self.recievingAdress.place(x=x / 1.4, y=y / 10)
self.master = master
self._geom = '200x200+0+0'
master.geometry("{0}x{1}+0+0".format(
x, y))
self.layout(x, y)
def addPayment(self):
self.recievingAdress.insert(1, 1515)
def test():
icxObject = blockgen.iconBlockGen()
root = Tk()
t = guiCreate(root)
handlerThrd = threading.Thread(target=icxObject.startLoop)
handlerThrd.start()
root.mainloop()
main.py
import gui
def main():
gui.guiCreate.test()
if __name__ == '__main__':
main()