【发布时间】:2013-12-17 14:19:53
【问题描述】:
我遇到了以下问题:在我的主 tk 窗口中,我有一个按钮可以打开一个新的顶层窗口。单击 Toplevel 窗口上的按钮后,应将新元素添加到列表框。
我不断收到此错误消息:
Traceback (most recent call last):
File "MainWindow.py", line 4, in <module>
from TopWindow import TopWindow
File "TopWindow.py", line 4, in <module>
import MainWindow
File "MainWindow.py", line 4, in <module>
from TopWindow import TopWindow
ImportError: cannot import name TopWindow
我认为问题在于两个类相互导入。但是我不确定如何解决这个问题。有什么想法吗?
主窗口.py:
from TopWindow import TopWindow
class MainWindow:
def __init__(self, mainWindow):
self.value = ''
self.gui(mainWindow)
def gui(self, mainWindow):
top = TopWindow()
button = tk.Button(optionFrame, text="Open TopWindow", command=top.import)
...
def addtolistbox(self):
....
mainWindow = tk.Tk()
run = MainWindow(mainWindow)
mainWindow.mainloop()
TopWindow.py
import MainWindow
class TopWindow:
def import(self):
....
MainWindow.MainWindow().addtolistbox()
【问题讨论】:
-
def import(self):我认为这是你的问题。它应该是 __init__() -
命名选择是不是很有趣?