Toggle LED Python 3.x tkinter -
i'm trying toggle led on , off using gui.
when execute code blank box saying "tk" title.
import tkinter tk class application(tk.frame): def __init__(self, master=none): super().__init__(master) self.pack() label(frame, text='turn led on').grid(row=0, column=0) label(frame, text='turn led off').grid(row=1, column=0) self.button = button(frame, text='led 0 on', command=self.convert0) self.button.grid(row=2, columnspan=2) def convert0(self, tog=[0]): tog[0] = not tog[0] if tog[0]: self.button.config(text='led 0 off') else: self.button.config(text='led 0 on') root = tk.tk() app = application(master=root) app.mainloop()
your code needs several fixes.
first off, running gave me following error:
nameerror: name 'label' not defined and sure, not. defined tk.label, let's change 2 lines:
label(frame, text='turn led on').grid(row=0, column=0) label(frame, text='turn led off').grid(row=1, column=0) into:
tk.label(frame, text='turn led on').grid(row=0, column=0) tk.label(frame, text='turn led off').grid(row=1, column=0) now, i'm raised following error:
nameerror: name 'frame' not defined and sure enough, isn't either. you're refering fact application class extends tk.frame class. well, that's true, doesn't tell frame is. assume frame means "the instance, considered frame instance". in case, self enough (and it's needed). here go, following 3 lines:
tk.label(frame, text='turn led on').grid(row=0, column=0) tk.label(frame, text='turn led off').grid(row=1, column=0) self.button = button(frame, text='led 0 on', command=self.convert0) become:
tk.label(self, text='turn led on').grid(row=0, column=0) tk.label(self, text='turn led off').grid(row=1, column=0) self.button = button(self, text='led 0 on', command=self.convert0) now, i'm told that
nameerror: name 'button' not defined i'm sure you're starting understand point. let's replace button tk.button:
self.button = tk.button(self, text='led 0 on', command=self.convert0) and here go, window displayed, 2 labels , 1 nice button, text changes when clicked.
Comments
Post a Comment