我在使用以下代码时遇到问题(我是 Python 相关的大多数事情的初学者),并且不确定如何在这个意义上使用“自我”。我只是想在单击开始按钮时检索在我创建的条目框中给出的任何值(请记住,根据 if 语句,框的数量会有所不同)。
但是,我遇到了未定义“自我”等错误。有什么方法可以保留我制作的循环并取回所有值,还是有更简单的方法来编写它?
def ChBox(self, ch):
column = 0
if ch == "List":
i = [0, 1, 2, 3]
for i in i:
ch_title = Label(ch_frame, text='Value %g'% float(i+1), bg='white', borderwidth=0, width=0)
ch_title.grid(row=0, column=column+i, sticky="nsew", padx=1, pady=1)
self.box = Entry(ch_frame, bg='white', borderwidth=0, width=0)
self.box.grid(row=1, column=column+i, sticky="ew", padx=1, pady=1)
elif ch == "Inter":
i = [0, 1]
ch_title1 = Label(ch_frame, text='Min Value', bg='white', borderwidth=0, width=0)
ch_title1.grid(row=0, column=column, sticky="nsew", padx=1, pady=1)
ch_title2 = Label(ch_frame, text='Max Value', bg='white', borderwidth=0, width=0)
ch_title2.grid(row=0, column=column+1, sticky="nsew", padx=1, pady=1)
for i in i:
self.box = Entry(ch_frame, bg='white', borderwidth=0, width=0)
self.box.grid(row=1, column=column+i, sticky="nsew", padx=1, pady=1)
def StartBut(self):
value = self.box.get()
but1 = Button(frame_but, text='Start', command =StartBut(self))
更新:事实上,我想做的是返回盒子值而不必使用类或 self 如果可能的话?我担心现在在我的代码中引入类和自我等会花费太多时间来重写它。