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