python - 如何使 Python Tkinter 中的按钮保持按下状态直到按下另一个按钮

标签 python button user-interface tkinter

我正在尝试找到一种方法让 Tkinter 使 Start 按钮保持按下状态,直到我按下 Stop 按钮。

from Tkinter import *
import tkMessageBox


class MainWindow(Frame):
    def __init__(self):
        Frame.__init__(self)
        self.master.title("input")
        self.master.minsize(250, 150)
        self.grid(sticky=E+W+N+S)

        top=self.winfo_toplevel()
        top.rowconfigure(0, weight=1)
        top.columnconfigure(0, weight=1)

        for i in range(2):self.rowconfigure(i, weight=1)
        self.columnconfigure(1, weight=1)

        self.button0 = Button(self, text="Start", command=self.save, activeforeground="red")
        self.button0.grid(row=0, column=0, columnspan=2, pady=2, padx=2, sticky=E+W+N+S)

        self.button1 = Button(self, text="Stop", command=self.stop, activeforeground="red")
        self.button1.grid(row=1, column=0, columnspan=2, pady=2, padx=2, sticky=E+W+N+S)

    def save(self):
        pass

    def stop(self):
        pass


if __name__=="__main__":
   d=MainWindow()
   d.mainloop()

最佳答案

所以你可以使用它的配置来设置按钮的浮雕,这让它看起来像是被按下了。

def save(self):
    self.button0.config(relief=SUNKEN)
    # if you also want to disable it do:
    # self.button0.config(state=tk.DISABLED)
    #...

def stop(self):
    self.button0.config(relief=RAISED)
    # if it was disabled above, then here do:
    # self.button0.config(state=tk.ACTIVE)
    #...

编辑

这显然不适用于 Mac OSx。此链接显示了应该的外观:http://www.tutorialspoint.com/python/tk_relief.htm

关于python - 如何使 Python Tkinter 中的按钮保持按下状态直到按下另一个按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23353746/

相关文章:

python - 在 Python 中使用 7.0 或 float(7) 是否计算量较小?

javascript - 使用此选择器从按钮旁边的输入中检索值

Javascript onClick 定时事件?

android - 在Android中如何实现这样的UI呢?

python - @staticmethod 和@classmethod 如何作用于python 中的变量?

python - 为 pyenv + virtualenv 生成 python3-config

python - 有效的键盘输入处理

java - 从另一个类添加到框架时为什么要扩展 JPanel?

javascript - 从 python selenium 调用中获取一个 javascript 变量

C# MouseHover 上的按钮透明背景