【问题标题】:Beginner - GUI toggle button初学者 - GUI 切换按钮
【发布时间】:2013-12-31 02:28:02
【问题描述】:

我可以请求一些帮助吗?我创建了一个带有切换按钮的 GUI,它可以切换 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()

【问题讨论】:

    标签: python button text tkinter toggle


    【解决方案1】:

    你需要做两件事:

    1. 将按钮定义为self.button,使其成为App的实例属性。这样,您就可以在convert0self 中访问它。

    2. 使用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()
    

    【讨论】:

      猜你喜欢
      • 2021-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-11-04
      • 2011-10-19
      • 2016-11-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多