0
目前我正試圖禁用某些條件滿足時在我的用戶界面中的某些按鈕。唯一的問題是我只能在創建按鈕後更改其狀態。Python 3 Tkinter - 禁用按鈕不按順序代碼
我做了一個Disabler
類來處理這個對我來說,但讓它運行是困難的。禁用程序,如果我得到它的工作,將有任務禁用所有按鈕來做我的計時器類,使用戶知道他們不可點擊(或他們什麼都不做)。
下面是我的代碼的簡化版本只顯示按鈕。
from tkinter import *
root = Tk()
class StopWatch(Frame):
def __init__(self, parent=None, **kw):
Frame.__init__(self, parent, kw)
StopWatch.on = 1
TimeAdjustLabel = LabelFrame(root, text='Frame',)
TimeAdjustLabel.grid(column=0, row=1, padx=10, pady=10)
StopWatch.b1 = Button(TimeAdjustLabel, text='Reset', width=10, command=self.Start)
StopWatch.b1.grid(row=0, column=0)
def Start(self, event=None):
if StopWatch.on == 0:
StopWatch.on = 1
else:
StopWatch.on = 0
self.enable()
def enable(self):
if StopWatch.on == 0:
StopWatch.b1.configure(state=DISABLED)
else:
StopWatch.b1.configure(state=NORMAL)
def main():
sw = StopWatch(root)
root.mainloop()
if __name__ == '__main__':
main()
爲什麼你創建了一個類禁用只是一個方法是?已經夠了......你不覺得嗎? – Gogo
的確如此。我如何讓它工作?你可以直接從Stopwatch類運行該方法嗎? –
把按鈕和labelframe裏面的秒錶類,然後使用'self' – Gogo