更改tkinter中的状态按钮

更改tkinter中的状态按钮,tkinter,Tkinter,这是我的基本代码。我正在使用Python3.4。按钮1激活,按钮2未激活。单击按钮1执行其功能时,应更改两个按钮的状态-B1为未激活,B2为激活 然后回来。当B2单击“执行功能”并将按钮状态更改为“程序启动”时,B2处于活动状态,B1处于非活动状态 你能告诉我怎么做吗 from tkinter import * root = Tk() b1 = Button(root, text='button 1', bg='black', fg='green').pack(sid

这是我的基本代码。我正在使用Python3.4。按钮1激活,按钮2未激活。单击按钮1执行其功能时,应更改两个按钮的状态-B1为未激活,B2为激活

然后回来。当B2单击“执行功能”并将按钮状态更改为“程序启动”时,B2处于活动状态,B1处于非活动状态

你能告诉我怎么做吗

from tkinter import *

root = Tk()

b1 = Button(root, text='button 1', bg='black',
            fg='green').pack(side=LEFT, fill=BOTH, expand=1, padx=5, pady=5)

b2 = Button(root, text='button 2', bg='black',
            fg='red', state='disabled').pack(side=LEFT, fill=BOTH, expand=1, padx=5, pady=5)

root.mainloop()

首先,您必须将
var=Widget().pack()
更改为

var = Widget()
var.pack() 
以访问小部件

然后您可以使用
命令=
为按钮分配功能

import tkinter as tk

def change_1():
    b1['state'] = tk.DISABLED
    b2['state'] = tk.NORMAL

def change_2():
    b1['state'] = tk.NORMAL
    b2['state'] = tk.DISABLED

root = tk.Tk()

b1 = tk.Button(root, text='Button 1', command=change_1)
b1.pack()

b2 = tk.Button(root, text='Button 2', command=change_2, state=tk.DISABLED)
b2.pack()

root.mainloop()

顺便说一句:
var=Widget().pack()
转换为
var=Widget()
var.pack()
使用
按钮(…,command=function\u name\u without\u()?我的应用程序中的两个按钮的功能都已就绪。他们使用command=doSomething,这里写的是在
doSomething
函数中使用commandrun
change\u 1
,或者在
change\u 1
函数中运行
doSomething
好的,这是个愚蠢的问题。我发现我需要更加放松——如果不是的话,我犯了愚蠢的错误。这不是一个愚蠢的问题:)你可以使用
bind(“”,function)
分配第二个函数,但即使按钮被禁用,它也会被执行。