【发布时间】:2020-04-11 05:09:43
【问题描述】:
我刚开始使用 python,几乎没有实际的编程背景。作为大多数新人,我正在编写一个计算器。我有一些按钮可以将我的数字写入标签。如果我将 StringVar 中的 textvariable 设置为下面的 sn-p,则效果很好:
numbers = StringVar()
display = Label(root, font = "Arial 20", textvariable = numbers, relief = RIDGE, anchor = E)
但是当我将它设置为 IntVar 时,它不再起作用了。我似乎无法解决我的问题。这是我的更多代码,以澄清我在做什么(错了吗?)。
numbers = IntVar()
display = Label(root, font = "Arial 20", textvariable = numbers, relief = RIDGE, anchor = E)
display.place(x=1, y=1, width=212,height=47
def display_input (inputValue):
CurrentInput = numbers.get()
numbers.set(CurrentInput + inputValue)
btn1 = Button(root, text = '1', bd = '1', bg = 'lightsteelblue', relief = RAISED, command = lambda: display_input('1'))
btn1.place(x=1, y=96, width=71,height=47)
【问题讨论】:
-
您的问题似乎不清楚。如果你想让一个按钮输入一个整数,你为什么要传入一个字符串?你试过传入一个整数吗?
-
你为什么使用
IntVar?StringVar更容易连接点击按钮所代表的数字。 -
@布莱恩。是的,我没有意识到我在按钮中将这些作为字符串传递,现在我知道了。
-
acw1668,我知道 StringVar 更容易,我现在实际上是这样使用的。对于一些函数,比如 math.sqrt,我需要我的输入是一个整数。在定义函数时,我使用 int() 来解决这个问题。
标签: python-3.x tkinter int