更改tkinter中的状态按钮

时间:2016-10-30 15:30:22

标签: tkinter

这是我的基本代码。我使用Python 3.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()

1 个答案:

答案 0 :(得分:0)

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

var = Widget()
var.pack() 

访问小部件。

然后您可以使用command=将功能分配给按钮。

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()