属性错误: 'Grid'对象没有属性'tk'



谁能帮我找出这个错误,我将不胜感激。

from tkinter import*
import math
root = Tk()
root.title("Jupiter Notebook Calculator")
root.resizable(width=False, height=False)
root.geometry("452x580+500+40")
mainFareme = Frame(root, bd=20, bg='gainsboro',relief=RIDGE)
mainFrame = Grid()

innerFareme = Frame(root, bd=10, bg='gainsboro',relief=RIDGE)
innerFrame = Grid()
class Calc():
def __init__(self):
self.total =0
self.current =""
self.firsnum=""
self.secondnum=""
self.input_value = True
self.check_sum=False
self.op=""
self.result=False

added_value = Calc()
txtDisplay = Entry(innerFrame, font=('arial',18,'bold'), bd=10, width=28, justify=RIGHT)
txtDisplay.grid (row=0, column=0, columnspan=4, pady=1)
txtDisplay.insert(0, "0")
numberpad = "789456123"
i = 0
btn = []
for j in range(3 , 6):
for k in range(3):
btn.append(Button(innerFrame, width=6, height =2,font=('arial',18,'bold'), bd=7, text= numberpad[i] )) 
btn[i].grid(row=j,column = k, pady=1) 

root.mainloop()

这是由代码生成的错误:

Traceback (most recent call last):
File "/tmp/foo.py", line 28, in <module>
txtDisplay = Entry(innerFrame, font=('arial',18,'bold'), bd=10, width=28, justify=RIGHT)
File "/usr/local/Cellar/python@3.9/3.9.15/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/__init__.py", line 3035, in __init__
Widget.__init__(self, master, 'entry', cnf, kw)
File "/usr/local/Cellar/python@3.9/3.9.15/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/__init__.py", line 2566, in __init__
BaseWidget._setup(self, master, cnf)
File "/usr/local/Cellar/python@3.9/3.9.15/Frameworks/Python.framework/Versions/3.9/lib/python3.9/tkinter/__init__.py", line 2535, in _setup
self.tk = master.tk
AttributeError: 'Grid' object has no attribute 'tk'

mainFrameinnerFrameGrid的一个实例。Grid的实例不是一个小部件,因此您不能将它用作另一个小部件的父部件。小部件的父级(或主级)必须是一个小部件。

最新更新