gpt4 book ai didi

python - 将 tkinter 的 intvar 添加到一个整数

转载 作者:太空宇宙 更新时间:2023-11-04 07:41:25 28 4
gpt4 key购买 nike

我在添加从输入框中获取的值并将其添加到现有数字时遇到了一些问题。在这种情况下,我希望将“更改速度”框的值添加到机器人当前速度。运行时,我的代码产生错误:

TypeError: unsupported operand type(s) for +=: 'int' and 'IntVar'.

下面是生成输入框的代码:

change_speed_entry = ttk.Entry(main_frame, width=5)  # Entry box for linear speed
change_speed_entry.grid()
data = tkinter.IntVar()
change_speed_entry['textvariable'] = data

接下来是我尝试操纵结果的地方。这是一个类中的方法。该类的所有其他方法都可以正常工作:

def changeSpeed(self, delta_speed):
self.speed += delta_speed

最佳答案

需要先调用IntVar.get方法:

def changeSpeed(self, delta_speed):
self.speed += delta_speed.get()

它以整数形式返回变量的值。

由于我没有你的完整代码,我写了一个小脚本来演示:

from Tkinter import Entry, IntVar, Tk

root = Tk()

data = IntVar()

entry = Entry(textvariable=data)
entry.grid()

def click(event):
# Get the number, add 1 to it, and then print it
print(data.get() + 1)

# Bind the entrybox to the Return key
entry.bind("<Return>", click)

root.mainloop()

当您运行脚本时,会出现一个带有输入框的小窗口。当您在该输入框中键入一个数字,然后单击 Return 时,脚本会获取存储在 data 中的数字(这将是您输入的数字),然后将其加 1 , 然后将其打印在屏幕上。

关于python - 将 tkinter 的 intvar 添加到一个整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19719577/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com