import tkinter as tk root = tk.Tk() root.title("简单计算器和标签") root.geometry("300x200") num1 = tk.StringVar() num2 = tk.StringVar() result = tk.StringVar() result.set("") def add(): global num1, num2, result x = float(num1.get()) y = float(num2.get()) result.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=1) entry1 = tk.Entry(root, textvariable=num1) entry1.grid(row=3, column=0) entry2 = tk.Entry(root, textvariable=num2) entry2.grid(row=3, column=1) button = tk.Button(root, text="相加", command=add) button.grid(row=4, column=0, columnspan=1) label1 = tk.Label(root, text="计算结果:") label1.grid(row=5, column=0) label2 = tk.Label(root, textvariable=result) label2.grid(row=5, column=1) root.mainloop() 出现in(*)不能运行的原因
时间: 2024-02-03 18:12:43 浏览: 146
如何利用python的tkinter实现一个简单的计算器.docx
在代码中出现了`in (*)`,这是因为在使用`tk.Entry()`创建输入框时,没有指定输入框所在的父容器(也就是`root`),导致程序无法识别输入框所在的位置。要修复这个问题,需要在创建输入框时指定`parent`参数,例如:
```
tk.Entry(root, textvariable=num1).grid(row=3, column=0)
tk.Entry(root, textvariable=num2).grid(row=3, column=1)
```
这样就可以将输入框添加到`root`窗口中,并显示在指定的位置。
阅读全文