我对 tkinter 和 python 真的很陌生,我尝试使用 tkinter 创建 GUI。该示例只是计算两个数字的乘法和加法并返回,当我无法将字符串转换为输入时(这意味着没有输入),我一直无法生成结果。那么,我怎样才能将这 2 个值返回给另一个函数呢?
import tkinter as tk
'''OS'''
root = tk.Tk()
root.title("Simple Box")
operator=""
canvas = tk.Canvas(root, height=400,width=500,bg="White")
canvas.pack()
frame=tk.Frame(root, bg="Light Blue")
frame.place(relwidth=0.9,relheight=0.9, relx=0.05, rely=0.05)
'''Variable '''
num1= tk.StringVar()
num2= tk.StringVar()
''' function'''
def operation1():
global number1, number2
multi_add =tk.Tk()
multi_add.title("Multiplication and Addition")
tk.Label(multi_add, font =("Helvetica", 20),
text="Enter the first number:").grid(row=0)
tk.Label(multi_add, font =("Helvetica", 20),
text="Enter the second number").grid(row=1)
number1=tk.Entry(multi_add, textvariable = num1).grid(row=0, column=1)
number2=tk.Entry(multi_add, textvariable = num2).grid(row=1, column=1)
return num1, num2
def result():
num3 = float(num1.get()) + float(num2.get())
num4 = float(num1.get()) * float(num2.get())
print("the result is ",num3 ,"and", num4)
'''buttons'''
result=tk.Button(frame, text="Result", font=('airal', 30 ,'bold'), height="1"
,width="6", padx=10,pady=5, fg="Black",
bg="yellow", command= result)
result.place(x=300 , y=305)
op1=tk.Button(frame, text="operation 1", height="2", width="10", padx=10,
pady=5, fg="Black", bg="yellow", command = operation1)
op1.place(x = 17, y = 310)
root.mainloop()
追溯错误:
D Tkinter 回调中的异常:Traceback(最近一次调用最后一次):文件“/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/tkinter/init .py ”,第 1705 行,调用返回 self。 func(*args) 文件“/Users/Pozzphut/Desktop/Project Python/FigureFunction transfer.py”,第 37 行,结果 num3 = float(num1.get()) + float(num2.get()) ValueError: could不将字符串转换为浮点数:
12345678_0001
相关分类