请问一点帮助吗?我创建了一个带有切换按钮的GUI,用于切换LED,LED熄灭。
我现在要做的是添加一些代码来更改按钮的文本,因为它在两种状态之间切换。
我查了一些例子,但我不知道如何或在哪里添加代码以使按钮文本切换。
感谢您的帮助。
我的代码......
# Idle 07_02_LED ON using GUI
from time import sleep
from Tkinter import *
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack()
Label(frame, text='Turn LED ON').grid(row=0, column=0)
Label(frame, text='Turn LED OFF').grid(row=1, column=0)
button = Button(frame, text='LED 0 ON', command=self.convert0)
button.grid(row=2, columnspan=2)
def convert0(self, tog=[0]):
tog[0] = not tog[0]
if tog[0]:
print('LED 0 OFF')
else:
print('LED 0 ON')
root = Tk()
root.wm_title('LED on & off program')
app = App(root)
root.mainloop()
答案 0 :(得分:4)
你需要做两件事:
将按钮定义为self.button
,使其成为App
的实例属性。这样,您就可以在convert0
到self
内访问它。
使用Tkinter.Button.config
更新按钮的文字。
以下是该脚本的固定版本。我在评论框中添加了我更改的内容:
# Idle 07_02_LED ON using GUI
from time import sleep
from Tkinter import *
class App:
def __init__(self, master):
frame = Frame(master)
frame.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()
root.wm_title('LED on & off program')
app = App(root)
root.mainloop()