Python 未显示计算器结果

Python Calculator results are not being displayed

所以我试图制作一个 python 计算器,它打开时像 window,但在计算之前我试图让它显示我点击的数字,一切正常,追加,列表,一切正常,直到它必须显示实际数字,在那里它显示 nothing,我试图将标签更改为“hi”,例如查看是否问题出在列表上,但没有显示任何内容,有人可以帮我在“结果”区域显示数字吗?这是我的代码:

root = tk.Tk()

color = '#263D42' 
numbers = []

Background = tk.Canvas(root, height=600, width=601, bg=color)
Background.pack()

resultBack = tk.Canvas(root, height=150, width=400, bg="#E4E0E0") 
resultBack.place(x=50, y=1)



root.title('Calculator')
root.iconphoto(False, tk.PhotoImage(file='plus.ico'))
root.resizable(width = False, height = False)
root.geometry("500x600")


for number in numbers:
    label = tk.Label(root, text="hi", bg="black")
    label.pack()

frame = tk.Frame(root, bg="white")
frame.place(relwidth=0.8, relheight=0.8, relx=0.1, rely=0.1) #frame

def addOne():
    for widget in frame.winfo_children():
     widget.destroy()
    numbers.append('1')
    for number in numbers:
        print(number)
        label = tk.Label(root, text=number, bg="black")
        label.pack()
    print(numbers)



one = tk.Button(root, text="1", padx=10, pady=5, fg="#000000", bg="#ffffff", command=addOne)
one.place(x=30, y=30)



root.mainloop()

您不应该那样创建和删除标签;你可以改变它们。 也许尝试这样的事情:

import tkinter as tk

root = tk.Tk()

numbers = []

root.title('Calculator')
root.resizable(width = False, height = False)
root.geometry("500x600")

label_text = tk.StringVar()
label_text.set('hi')
label = tk.Label(root, textvariable=label_text)
label.pack()

frame = tk.Frame(root, bg="white")
frame.place(relwidth=0.8, relheight=0.8, relx=0.1, rely=0.1) #frame

def addOne():
    numbers.append(1)
    work = ""
    for i in numbers:
        work+=str(i)
    label_text.set(work)

one = tk.Button(root,
    text="1",
    padx=10,
    pady=5,
    fg="#000000",
    bg="#ffffff",
    command=addOne)
one.place(x=30, y=30)

root.mainloop()

这应该会显示数字。 StringVars 是你处理这些事情的朋友。当您更新它们时,tk 会自动更新它们所附加的小部件。 从这里开始,您可能想要移动一些东西以使其看起来更好等,并且您可能不想为每个按钮添加一个方法(addTwo、addThree、addFour 等)。如果您需要更多帮助,请告诉我们。