import tkinter as tk root = tk.Tk() root.title("简单计算器和标签") num1 = tk.StringVar() num2 = tk.StringVar() res = tk.StringVar() def add(): x = float(num1.get()) y = float(num2.get()) res.set(str(x+y)) tk.Label(root, text="名字:").grid(row=0, column=0) tk.Entry(root).grid(row=0, column=1) tk.Label(root, text="学号:").grid(row=1, column=0) tk.Entry(root).grid(row=1, column=1) tk.Label(root, text="请输入两个数字:").grid(row=2, column=0, columnspan=2) tk.Entry(root, textvariable=num1).grid(row=3, column=0) tk.Entry(root, textvariable=num2).grid(row=3, column=1) tk.Button(root, text="相加", command=add).grid(row=4, column=0, columnspan=2) tk.Label(root, text="计算结果:").grid(row=5, column=0) tk.Label(root, textvariable=res).grid(row=5, column=1) root.mainloop()为什么不能运行
时间: 2024-02-03 10:12:32 浏览: 139
代码中存在问题,缺少了一个变量名,应该在第6行代码中添加变量名,如下所示:
```python
import tkinter as tk
root = tk.Tk()
root.title("简单计算器和标签")
num1 = tk.StringVar()
num2 = tk.StringVar()
res = tk.StringVar()
def add():
x = float(num1.get())
y = float(num2.get())
res.set(str(x+y))
tk.Label(root, text="名字:").grid(row=0, column=0)
tk.Entry(root).grid(row=0, column=1)
tk.Label(root, text="学号:").grid(row=1, column=0)
tk.Entry(root).grid(row=1, column=1)
tk.Label(root, text="请输入两个数字:").grid(row=2, column=0, columnspan=2)
tk.Entry(root, textvariable=num1).grid(row=3, column=0)
tk.Entry(root, textvariable=num2).grid(row=3, column=1)
tk.Button(root, text="相加", command=add).grid(row=4, column=0, columnspan=2)
tk.Label(root, text="计算结果:").grid(row=5, column=0)
tk.Label(root, textvariable=res).grid(row=5, column=1)
root.mainloop()
```
此外,在第16行代码中,需要将 `text` 属性赋值为计算结果的变量 `res`,因为计算结果需要动态更新。
阅读全文