Home > other >  "Unresolved Reference" error within a definition when attempting to edit a variable
"Unresolved Reference" error within a definition when attempting to edit a variable

Time:09-03

When attempting to put some maths that change a variable within a definition, I receive an error specifying "Unresolved Reference". The following is the code I am using, the relevant code on lines 9 - 15.

import tkinter as tk

root = tk.Tk()

root.title("TKinter Test")

canvas = tk.Canvas(root, width=500, height=500)

Increment = 0


def reply():
    #FIG 1      FIG 2
    Increment = Increment   1
    print(Increment)
    print("Reply")


Button = tk.Button(root, width=30, height=10, command=reply, text="Status")
Button.pack(padx=10, pady=10)

root.mainloop()

The first "Increment" which is under "FIG 1": incurs the error "Shadows name 'Increment' from outer scope". The second one (under "FIG 2") causes the "Unresolved Reference" error I already talked about.

CodePudding user response:

Your Increment variable is a global variable.
So inside your reply function this variable is not known.
You need to add global inside reply function:

import tkinter as tk

root = tk.Tk()

root.title("TKinter Test")

canvas = tk.Canvas(root, width=500, height=500)

Increment = 0


def reply():
    #FIG 1      FIG 2
    global Increment
    Increment  = 1
    print(Increment)
    print("Reply")


Button = tk.Button(root, width=30, height=10, command=reply, text="Status")
Button.pack(padx=10, pady=10)

root.mainloop()
  • Related