Tkinter:改变Button控件状态

Button介绍

  • Button:Tkinter 按钮组件用于在 Python 应用程序中添加按钮,按钮上可以放上文本或图像,按钮可用于监听用户行为,能够与一个 Python 函数关联,当按钮被按下时,自动调用该函数。
  • 本次主要介绍Button控件被点击后text、state属性变化的操作
  • text:按钮的文本内容
  • state:设置按钮组件状态,可选的有NORMAL、ACTIVE、 DISABLED。默认 NORMAL。

示例

  • 创建一个可点的按钮
Button(root, text="点我测试", command=click_me)		# 按钮文案为:点我测试,点击后调用click_me函数
  • 创建一个不可点的按钮
Button(root, text="我不可被点击", state=DISABLED)	# 按钮文案为:我不可被点击,状态为不可点状态(置灰)
  • 按钮被点击后改变按钮文案,并修改状态为:不可点
from tkinter import *

root = Tk()
root.geometry('200x200')
root.resizable(width=False, height=False)
root.title('Button Test')

def click_me():
	"""修改btn控件的text属性以及state"""
    btn["text"] = "不可点"
    btn['state'] = DISABLED

Label(root, text="button test").pack()

# btn被点击后,调用click_me函数,将btn文案修改为:不可点,状态修改为DISABLED(置灰状态,不可点击)
btn = Button(root, text="点我测试", command=click_me)
btn.pack()
btn1 = Button(root, text="我不可被点击", state=DISABLED)
btn1.pack()

root.mainloop()

  • 按钮被点击后改变按钮文案、状态,执行函数操作后,按钮状态复原
import time
from tkinter import *

root = Tk()
root.geometry('200x200')
root.resizable(width=False, height=False)
root.title('Button Test')


def click_me():
    """修改btn控件的text属性以及state,3秒后,恢复原有状态"""
    btn["text"] = "不可点"
    btn['state'] = DISABLED
    time.sleep(3)
    btn["text"] = "点我测试"
    btn['state'] = NORMAL


Label(root, text="button test").pack()

# btn被点击后,调用click_me函数,将btn文案修改为:不可点,状态修改为DISABLED(置灰状态,不可点击),3秒后,恢复原有状态
btn = Button(root, text="点我测试", command=click_me)
btn.pack()
btn1 = Button(root, text="我不可被点击", state=DISABLED)
btn1.pack()

root.mainloop()

你可能感兴趣的:(#,Tkinter,python,tkinter,gui)