Tkinter GUI 计算器

-1 投票
1 回答
580 浏览
提问于 2025-04-21 02:12

嘿,我想让我的计算器在按下按钮时,显示出被点击按钮上的数字。有没有人知道怎么用最有效的方法来实现这个?这是我目前的代码。

import tkinter

window = tkinter.Tk()
window.geometry("150x170")

lbl1 = tkinter.Label(text = "Calculator").grid(row = 1, column = 4)

displaynum = 0
lb = tkinter.Label(text = displaynum, borderwidth = 4).grid(row = 2, column = 4)
def displayednum():
    global displaynum
    lbl = tkinter.Label(text = displaynum, borderwidth = 4).grid(row = 2, column = 4)

for n in range(1,4):
    btn1 = tkinter.Button(text = n,borderwidth = 2, command = changenumber ).grid(row = 3,column = n*2)
    lbl2 = tkinter.Label(text = " ").grid(row = 3, column = n*2+1)
for u in range(1,4):
    btn2 = tkinter.Button(text = u+3,borderwidth = 2).grid(row = 6, column = u*2)
    lbl3 = tkinter.Label(text = " ").grid(row = 6, column = u*2+1)
for m in range(1,4):
    btn2 = tkinter.Button(text = m+6,borderwidth = 2).grid(row = 9, column = m*2)
    lbl4 = tkinter.Label(text = " ").grid(row = 9, column = m*2+1)


window.mainloop()

有人有解决办法吗?

1 个回答

0

改变标签文本的函数可以这样实现:

def changenumber(label, val):
    label.config(text=str(val))

不过在给变量赋值的时候要小心哦。因为这两个变量 lbl1 和 lb 现在都是 None,也就是没有值。你可以试试这样做:

lbl1 = tkinter.Label(text = "Calculator")
lbl1.grid(row = 1, column = 4)
lb = tkinter.Label(text = displaynum, borderwidth = 4)
lb.grid(row = 2, column = 4)

撰写回答