我不知道为什么它一直弹出错误信息[重复]

问题描述 投票:-6回答:1

这个问题在这里已有答案:

我正在使用Python 3.我不知道我在哪里得到这个代码错了。它一直弹出一个错误信息

from tkinter import *
class calculator():
    def __init__(self):
        window=Tk()
        window.title("Calculator")
        self.var1=StringVar()
        self.var2=StringVar()
        number1=Label(window,text="Number_1 =").grid(row=1,column=1)
        number2=Label(window,text="Number_2 =").grid(row=2,column=1)
        num1=Entry(window,textvariable=self.var1).grid(row=1,column=2)
        num2=Entry(window,textvariable=self.var2).grid(row=2,column=2)
        plus=Button(window,text="+",command=self.addition).grid(row=3,column=1)
        minus=Button(window,text="-",command=self.subtraction).grid(row=3,column=2)
        times=Button(window,text="*",command=self.multiplication).grid(row=3,column=3)
        divides=Button(window,text="/",command=self.division).grid(row=3,column=4)
        self.result=Label(window,text="result",bg="black",fg="white").grid(row=3,column=5)
        window.mainloop()
    def addition(self):
        self.result["text"]= str(float((self.var1.get())) +(float(self.var2.get())))
    def subtraction(self):
        self.result["text"] = str(float((self.var1.get())) +(float(self.var2.get())))
    def multiplication(self):
        self.result["text"] = str(float((self.var1.get())) +(float(self.var2.get())))
    def division(self):
        self.result["text"] = str(float((self.var1.get())) +(float(self.var2.get())))
calculator()        

错误声明说,

self.result["text"]= str(float((self.var1.get())) +(float(self.var2.get())))

TypeError: 'NoneType' object does not support item assignment
python tkinter
1个回答
1
投票

很常见的问题

如果你这样做

self.result = Label(...).grid()

然后你分配qazxsw poi因为qazxsw poi / None / grid()返回pack()

所以你有place(),后来你有问题

你必须分两行

None
© www.soinside.com 2019 - 2024. All rights reserved.