回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个名为<code>main.py</code>的文件,其中包含一个名为<code>mainWindow</code>的类。我还有一个名为<code>popupWindow.py</code>的文件,其中包含一个名为<code>popupWindow</code>的类。<code>mainWindow</code>类包含2个方法。一个名为<code>clearListBox</code>的函数用于清除主窗口中的列表框,另一个名为<code>addScouts(I)</code>的函数用于将存储在文件中的侦察兵写入列表框。我想能够从我的类<code>popupWindow</code>调用<code>clearListBox</code>和<code>addScouts(I)</code>。我如何做到这一点?你知道吗</p>
<p>在尝试<code>from main import mainWindow</code>然后调用<code>mainWindow.addScouts(1)</code>时,我收到了错误<code>addScouts</code>需要arg <code>self</code></p>
<p>在我的<code>main.py</code>文件中:</p>
<pre><code>class mainWindow:
def __init__(self,master):
self.master = master
self._scouts = []
addBtn = Button(master,text="Create Scout",command=self._createScout)
addBtn.pack()
remBtn = Button(master,text="Remove Scout",command=self._removeScout)
remBtn.pack()
fndBtn = Button(master,text="Find Scout",command=self._findScout)
fndBtn.pack()
exitBtn = Button(master,text="Exit",command=self._exit)
exitBtn.pack()
scoutList = Listbox(master)
scoutList.pack()
self.scoutList = scoutList
self.addScouts(1)
w = 1000 #The value of the width
h = 750 #The value of the height of the window
# get screen width and height
ws = root.winfo_screenwidth()#This value is the width of the screen
hs = root.winfo_screenheight()#This is the height of the screen
# calculate position x, y
x = (ws/2) - (w/2)
y = (hs/2) - (h/2)
#This is responsible for setting the dimensions of the screen and where it is
#placed
root.geometry('%dx%d+%d+%d' % (w, h, x, y))
self._createLeaderboard()
def addScouts(self,I):
i = I
with open(fileName,"r") as f:
lines = f.readlines()
for line in lines:
if str(line.split(",")[3])[:-1] == str(i):
self.scoutList.insert(END,line[:-1])
i += 1
return self.addScouts(i)
return
def clearListBox(self):
self.scoutList.delete(0,END)
return
</code></pre>
<p>在<code>popupWindow.py</code>中:</p>
<pre><code>from main import mainWindow
</code></pre>
<p>在<code>popupWindow</code>类中:</p>
<pre><code>mainWindow.clearListBox()
mainWindow.addScouts(1)
</code></pre>
<p>我的错误:</p>
<pre><code>Traceback (most recent call last):
File "C:\Users\KRIS\Documents\Python Projects\Scouts\popupWindow.py", line 4, in <module>
from main import mainWindow
File "C:\Users\KRIS\Documents\Python Projects\Scouts\main.py", line 4, in <module>
from popupWindow import *
File "C:\Users\KRIS\Documents\Python Projects\Scouts\popupWindow.py", line 4, in <module>
from main import mainWindow
ImportError: cannot import name 'mainWindow'
</code></pre>
<p>先谢谢你</p>