클래스 (Eventsim) 내에서 모듈 (updateUI)을 호출하는 데 문제가 있습니다.Tkinter 클래스 모듈 참조 예외
Sim = EventSim() 행에는 인수 (상위)가 없기 때문에 예외가 발생합니다. 이/부모 개체를 참조하는 방법을 해결할 방법을 알아낼 수 없습니다.
이것은 Tkinter에 대한 나의 첫 번째 시도이며 파이썬 지식 또한 제한적입니다 (현재는 제한적 임).
from Tkinter import *
class EventSim(Frame):
def __init__(self, parent):
Frame.__init__(self, parent)
self.parent = parent
def updateUI(self,IP_Address,Port_Number,Events_Directory):
self.parent.title('ECP Event Simulator')
self.parent.resizable(0, 0)
self.pack(fill=BOTH, expand=True)
frame1 = Frame(self)
frame1.pack(fill=X)
frame2 = Frame(self)
frame2.pack(fill=X)
frame3 = Frame(self)
frame3.pack(fill=X)
frame4 = Frame(self)
frame4.pack(fill=X)
frame5 = Frame(self)
frame5.pack(fill=X)
frame6 = Frame(self)
frame6.pack(fill=X,pady=(10,30))
frame7 = Frame(self)
frame7.pack(fill=X)
frame8 = Frame(self)
frame8.pack(fill=X,pady=(10,0))
Main_Label = Label(frame1,text='ECP EventSim')
Main_Label.pack(side=LEFT,padx=100)
IP_Label = Label(frame2,text='IP Address:')
IP_Label.pack(side=LEFT,padx=10)
Port_Label = Label(frame2,text='Port:')
Port_Label.pack(side=RIGHT,padx=70)
IP_Text = Entry(frame3)
IP_Text.pack(fill=X,side=LEFT,padx=10)
IP_Text = Entry(frame3)
IP_Text.pack(fill=X,side=RIGHT,padx=10)
Dir_Label = Label(frame4,text='Events Directory:')
Dir_Label.pack(side=LEFT,padx=10)
Dir_Text = Entry(frame5)
Dir_Text.pack(fill=X,side=LEFT,padx=10,expand=True)
Save_Button = Button(frame6,text='Save Config')
Save_Button.pack(fill=X,side=LEFT,padx=10,expand=True)
Con_Button = Button(frame7,text='Connect')
Con_Button.pack(fill=X,side=LEFT,padx=10,expand=True)
Send_Button = Button(frame8,text='Start Sending Events')
Send_Button.pack(fill=X,side=LEFT,padx=10,expand=True)
def main():
root = Tk()
root.geometry("300x300+750+300")
app = EventSim(root)
root.mainloop()
Sim = EventSim()
Sim.updateUI('1','1','1')
main()
모양 : 당신은 당신이 부모를 통과 한 곳과 그렇지 한 곳이있다. 부모를 통과하지 않는 것을 제거하면 불필요한 것처럼 보입니다. –
나는 당신이 updateUI 메소드에 대해 이야기하고 있다고 가정합니다. 그렇다면 내 실수입니다. 내가 실험하고 부모를 전달 원래 코드의 일부가 아니었다. 나는 그것을 꺼내지 만, 모듈이 호출되기 전에 예외가 던져지기 때문에 문제가 해결되지 않는다. –
네 말이 맞아. 내가 게시 한 코드에 따르면 그들은 사용되지 않고 있지만 미래에있을 것입니다. 여기에 게시하기 전에 매개 변수를 꺼내는 것을 잊었습니다. –