【发布时间】:2020-12-22 16:00:09
【问题描述】:
所以我试图制作一个 python 计算器,它像一个窗口一样打开,但在计算之前我试图让它显示我点击的数字,一切正常,追加,列表,一切正常,直到它必须显示实际数字,它显示 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()
【问题讨论】:
-
你在没有添加任何东西的情况下调用数字中的数字。
-
因为当我按下按钮时东西会被添加到“数字”中,所以当我按下按钮时,会显示,在计算器中它在启动时为空,我也尝试在“数字”中添加东西" 测试是否是问题的列表,没有显示任何内容,所以这不是问题
-
顺便说一句,通常更容易关注前端(在您的情况下为 tkinter)或后端(在您的情况下为实际的计算器)。试图同时做这两件事只会让事情变得更加困难
-
现在我正在尝试专注于前端,一旦我的用户界面运行良好,我将专注于后端,我还没有开始在后端工作
-
您添加的所有标签都完全显示在窗口的可见区域之外。您已将窗口强制为固定大小,因此它无法自行放大以使其可见,但其内容区域完全由
Background填充。您需要将标签添加到您放置在背景顶部的容器之一(resultBack或frame),而不是添加到根窗口本身。
标签: python tkinter calculator