Вы можете поместить
global generatebutton
generatebutton.config(state='disabled')
в функцию, нажатую на кнопку (что глупо, потому что ключевое слово global
обычно ТАК ПЛОХОЕ, оно превращает ваш код в кошмар), или используйте OOP, чтобы Ваше преимущество Вы также можете использовать win.destroy()
или generatebutton.destroy()
.
Вот пример более интенсивного OOP кода:
import tkinter as tk
from tkinter import ttk
class Joke:
def __init__(self):
self.win = tk.Tk()
self.win.title("StackOverflow")
self.win.resizable(False, False)
self.win.minsize(750,500)
headerlabel = tk.Label(self.win, text="StackOverFlow Question")
self.generatebutton = tk.Button(self.win, text="Generate", command=self.buttonclicked)
self.pb = ttk.Progressbar(self.win, orient="horizontal", length=250, mode="determinate")
headerlabel.pack()
self.generatebutton.pack()
self.win.mainloop()
def buttonclicked(self):
tk.Label(self.win, text="Starting to generate...").pack()
self.pb.pack()
self.pb.start(500)
self.generatebutton.config(state='disabled')
Joke()
Надеюсь, что это полезно!