I\'m having some trouble adding a value taken from an Entry box and adding it to an existing number. In this case, I want the value of the \"change speed\" box to be added t
You need to first invoke the .get
method of IntVar
:
def changeSpeed(self, delta_speed):
self.speed += delta_speed.get()
which returns the variable's value as an integer.
Since I don't have your full code, I wrote a small script to demonstrate:
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()
When you run the script, a small window appears that has an entrybox. When you type a number in that entrybox and then click Return
, the script gets the number stored in data
(which will be the number you typed in), adds 1 to it, and then prints it on the screen.
You didn't show the code defining .speed
or delta_speed
, so I'm guessing here. Try:
self.speed += delta_speed.get()
^^^^^^
If delta_speed
is an IntVar
, .get()
will retrieve its value as a Python int.