I was just starting to learn Python, and I ran into this problem. I want to set a variable from inside the method, but the variable is outside the method.
The method is activated by the button. Then I want to get the value from this variable that I set when I press another button. The problem is that the value that I put inside the variable from the method does not remain. How can i solve this?
The code is below. currentMovieis the variable I'm trying to change. When I press a button using a method UpdateText(), it prints a random number, as expected. But when I press the button that activates UpdateWatched(), it outputs 0. So I assume that the variable will never be set.
import random
from tkinter import *
currentMovie = 0
def UpdateText():
currentMovie = random.randint(0, 100)
print(currentMovie)
def UpdateWatched():
print(currentMovie)
root = Tk()
root.title("MovieSelector9000")
root.geometry("900x600")
app = Frame(root)
app.grid()
canvas = Canvas(app, width = 300, height = 75)
canvas.pack(side = "left")
button1 = Button(canvas, text = "SetRandomMovie", command = UpdateText)
button2 = Button(canvas, text = "GetRandomMovie", command = UpdateWatched)
button1.pack(anchor = NW, side = "left")
button2.pack(anchor = NW, side = "left")
root.mainloop()