複数のインスタンス名をクラスからクラスに入力しようとすると、複数の数学的方程式を同時に入力フィールドのユーザーから入力された値。tkinterボタンを使用してクラスにリスト値を渡す
例:aud_non_comm_short/aud_non_comm_long & cad_non_comm_short/cad_non_comm_longと両方のラベルの結果を表示します。あなたは彼らに同じ名前ので、あなたは、あなたの変数と関数の命名を台無しに
from tkinter import *
from tkinter import ttk
class CoTValues:
def non_comm_short(self, master, e_row):
self.master = master
self.e_row = e_row
self.non_comm_short = IntVar()
entry = Entry(self.master, textvariable=self.non_comm_short, width="9")
entry.grid(row=self.e_row, column="1", padx="5", pady="5")
def non_comm_long(self, master, e_row):
self.master = master
self.e_row = e_row
self.non_comm_long = IntVar()
entry = Entry(self.master, textvariable=self.non_comm_long, width="9")
entry.grid(row=self.e_row, column="2", padx="5", pady="5")
def display_data(self):
print(self.non_comm_short.get())
print(self.non_comm_long.get())
root = Tk()
root.minsize(width="500", height="500")
aud_non_comm_short = CoTValues()
aud_non_comm_short.non_comm_short(root, 1)
aud_non_comm_long = CoTValues()
aud_non_comm_long.non_comm_long(root, 1)
cad_non_comm_short = CoTValues()
cad_non_comm_short.non_comm_short(root, 2)
cad_non_comm_long = CoTValues()
cad_non_comm_long.non_comm_long(root, 2)
var_name = [aud_non_comm_short, aud_non_comm_long]
btn = ttk.Button(root, text="Submit", command=lambda: for x in range(len(var_name): var_name[x].display_data())
btn.grid(row="4", column="3")
root.mainloop()
この場合、なぜ「ラムダ」を使用していますか?なぜ普通の関数を呼び出さないのですか? –