【问题标题】:Add two integer on Tkinter在 Tkinter 上添加两个整数
【发布时间】:2021-12-30 06:39:26
【问题描述】:

我正在创建一个简单的计算器,它将两个整数相加并在 A+B 行上显示结果。但是当我点击按钮并出现错误时,请你们帮我解释一下出了什么问题以及如何解决它,非常感谢你们。

from tkinter import *
parent = Tk()
A= Label(parent, text = "A").grid(row = 0, column = 0)
e1 = Entry(parent).grid(row = 0, column = 1)
B= Label(parent, text = "B").grid(row = 1, column = 0)
e2 = Entry(parent).grid(row = 1, column = 1)
AaddB=Label(parent, text = "A+B").grid(row = 6, column = 0)
def AaddB():
    print (A+B)
    
submit = Button(parent, text = "PLUS",command = AaddB).grid(row = 4, column =1)
   
parent.mainloop()

enter image description here

【问题讨论】:

  • 非常感谢,我只是尝试了那个解决方案,它并没有解决我的错误,我的错误是:TypeError: unsupported operand type(s) for +: 'NoneType' and 'NoneType '
  • 如果你已经解决了这个问题,你还需要将此行修复为print (int(A.get())+int(B.get()))
  • 如果您仔细查看您的代码,您会发现AB 只是Labels。您不能添加或计算小部件。因此,为这些标签分配一些其他名称并在 AaddB() 函数下方添加:A = int(e1.get()) 并在下一行,B = int(e2.get()) 此外,您应该避免在同一行/变量上创建和网格化小部件。这可能会导致错误。
  • 你使用了e1 = Entry(...).grid(...),它返回None。为什么不单独创建和网格呢?示例:e1 = Entry(...),在下一行:e1.grid(...)

标签: python tkinter tkinter-entry


【解决方案1】:
from tkinter import *
tinhtong = Tk()
tinhtong.title("Tính tổng A+B") 
tinhtong.geometry("300x300")
A= Label(tinhtong, text = "A=").grid(row = 0, column = 0)
A1 = Entry(tinhtong)
A1.grid(row = 0, column = 1)
B= Label(tinhtong, text = "B=").grid(row = 1, column = 0)
B2 = Entry(tinhtong)
B2.grid(row = 1, column = 1)
def AcongB():
    A = int(A1.get())
    B = int(B2.get())
    Tong.set(A+B)
    Tong=StringVar()
submit = Button(tinhtong, text = "Tổng",command=AcongB)
submit.grid(row = 4, column = 1)
AcongB=Label(tinhtong, text = "A+B=").grid(row=6,column=0)
AcongB=Label(textvariable=Tong)
AcongB.grid(row=6,column=1)
tinhtong.mainloop()

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-26
    • 2022-01-25
    • 1970-01-01
    • 2016-05-30
    • 2013-04-17
    相关资源
    最近更新 更多