I have this code, and its meant to change the text of the Instruction
label when the item button is pressed. It doesn\'t for some reason, and I\'m not entirely
Doing:
message = 'Button Pressed'
will not affect the label widget. All it will do is reassign the global variable message
to a new value.
To change the label text, you can use its .config() method (also named .configure()
):
def press():
Instruction.config(text='Button Pressed')
In addition, you will need to call the pack
method on a separate line when creating the label:
Instruction = tkinter.Label(Tk, text=message, font='size, 20')
Instruction.pack()
Otherwise, Instruction
will be assigned to None
because that is the method's return value.
You can make message
a StringVar
to make callback.
message = tkinter.StringVar()
message.set('Not pressed.')
You need to set message
to be a textvariable
for Instruction
:
Instruction = tkinter.Label(Tk, textvariable=message, font='size, 20').pack()
and then
def press():
message.set('Button Pressed')