Я относительно новичок в python, поэтому на этот вопрос может быть простой ответ. Я попытался включить его, используя этот пример Закрытие текущего окна при открытии другого окна но он просто не работает. Я думаю, проблема в том, что я неправильно использую классы, но я не могу понять это.
Заранее спасибо.
Вот код:
from tkinter import*
from tkinter import ttk
from tkinter import messagebox
import random
from tkinter.constants import HORIZONTAL
from turtle import left, width
root = Tk()
def replace_window(root):
"""Destroy current window, create new window"""
global current_window
#if current_window is not None:
# current_window.destroy()
current_window = Toplevel(root)
# if the user kills the window via the window manager,
# exit the application.
#current_window.wm_protocol("WM_DELETE_WINDOW", root.destroy)
#return current_window
def new_window():
window = replace_window(root)
label = Label(window, text="This is window" )
label.pack(fill="both", expand=True, padx=20, pady=20)
button.pack(padx=10, pady=10)
root.geometry('300x220')
root.resizable(False, False)
root.title('Water')
replace_window
def final_drink():
if selected_option.get() == 2:
messagebox.showinfo(title = "Congratulations!", message = "Water")
root.quit()
else:
messagebox.showinfo(title = "Wrong! Try again.", message ="Remember ")
new_window
def sel():
if selected_option.get() ==1:
messagebox.showinfo(title = "A Friendly Message", message = 'Hello, Tkinter!')
new_window
final_drink
else:
messagebox.showinfo(title = "Wrong! Try again.", message ="Remember")
selected_option = IntVar()
options = (('Removal', '1'),
('Dis', '2'),
('Clumping ', '3'),
('Separation', '4'))
# label
label = ttk.Label(text="What should you do now")
label.pack(fill='x', padx=5, pady=5)
# radio buttons
for option in options:
r = ttk.Radiobutton(
root,
text=option[0],
value=option[1],
variable=selected_option
)
r.pack(fill='x', padx=5, pady=5)
button1 = ttk.Button(
root,
text="Pick one!",
command=sel)
button1.pack(fill='x', padx=5, pady=5)
button = ttk.Button(
root,
text="Pick one!",
command=final_drink)
button.pack(fill='x', padx=5, pady=5)
label = Label(root)
label.pack()
root.mainloop()