Python の初心者の問題でまたお邪魔してすみません。コンボボックスを使用して Python で簡単な計算 (乗算) を実行しようとしていますが、方法がわかりません。以下に、私がこれまでに成功しなかったことを示します。あなたが私を助けてくれることを願っています!
事前にどうもありがとうございました
これが私のコードです:
import Tkinter
root = Tk()
root.title("Model A")
root.minsize(400, 220)
root.maxsize(410, 240)
# start of Notebook (multiple tabs)
notebook = ttk.Notebook(root)
notebook.pack(fill='both', expand='yes')
notebook.pressed_index = None
# child frames
frameOne = Tkinter.Frame(notebook, bg='white',width=560, height=100)
frameOne.pack(fill='both', expand=True)
# pages
notebook.add(frameOne, text='Simple calculation')
#Close Application Button
def quit(root):
root.destroy()
tk.Button(root, text="Close Application", command=lambda root=root:quit(root)).pack()
## Calculation
def defocus(event):
event.widget.master.focus_set()
def multiply(*args):
try:
product.config(round(float(Num_One.get())*float(Num_Two.get())))
except ValueError:
pass
## variables
Num_One = StringVar()
Num_Two = StringVar()
product = DoubleVar()
#Number One
ttk.Label(frameOne, text="Select First Number:").grid(column =3, row = 0)
NumOne_Select = Combobox(frameOne, values=("1", "2", "3","4", "5"),textvariable=Num_One)
NumOne_Select.grid(column=4, row=0, columnspan="5", sticky="nswe")
NumOne_Select.bind('<KeyPress>', multiply)
NumOne_Select.bind('<KeyRelease>', multiply)
#Number two
ttk.Label(frameOne, text="Select Second Number:").grid(column =3, row = 6 )
NumTwo_Select = Combobox(frameOne, values=("1", "2", "3","4", "5"),textvariable=Num_Two)
NumTwo_Select.grid(column=4, row=6, columnspan="5", sticky="nswe")
NumTwo_Select.bind('<KeyPress>', multiply)
NumTwo_Select.bind('<KeyRelease>', multiply)
# display results
ttk.Label(frameOne, text = "Product:").grid(column = 3, row = 8)
ttk.Label(frameOne, textvariable=product).grid(column = 4, row = 8)
root.mainloop()