次のコードに問題があり (私は 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))
更新:実際に私がやりたいのは、可能であればクラスや自己を使用せずにボックスの値を返すことですか? クラスや自己などをコードに導入すると、すべてを書き直すのに時間がかかりすぎるのではないかと心配しています..