Существует поле state
, когда вы определяете кнопку, которую вы можете установить на ENABLED
или DISABLED
.Вы можете определить, что ваша кнопка будет DISABLED
при запуске, например:
import tkinter as tk
from matplotlib import *
from tkinter import ttk, messagebox, filedialog
tk = tk.Tk()
myButton = ttk.Button(tk, text='Button', command=self.doSomething, state = 'disabled')
myButton.grid(row=7,column=4, sticky="w")
Когда какое-либо условие выполнено, вы можете изменить статус на NORMAL
:
myButton['state'] = 'normal'
Этодолжен сделать свое дело.
РЕДАКТИРОВАТЬ: что касается обновления во время выполнения, я бы определил метод в вашем классе для обновления статуса для вас, что-то вроде этого:
class Hauptmenu:
def __init__(self, parent):
self.myParent = parent
self.myContainer = tk.Frame(parent)
self.myContainer.pack()
self.button = tk.Button(self.myContainer)
self.button.configure(text="Button", command=self.doSomething, state = 'disabled')
self.button.pack()
def doSomething(self):
print('This button has been pressed')
def changeButtonState(self, state):
self.button['state'] = state
root = tk.Tk()
c = Hauptmenu(root)
c.changeButtonState('normal')
tk.mainloop()