无法使用按钮打破循环

Cant break loop using button

我想要 window 如果关闭它会重新出现,但只有在用户按下按钮时才会关闭。我试了很多次但做不到。请帮助。

from Tkinter import *
x='y'
while x!='break':
    def something(x):
        x='break'
    root=tkinter.Tk()
    button=tkinter.Button(root, text='Break', command=lambda:something(x))
    button.pack()
    root.mainloop()
print('done')

当您使用x = "break"设置x时,您设置的是局部变量,这意味着全局变量x仍然是"y"。因此,要解决您的问题,只需确保对 x 使用全局变量。这是一个简单的例子:

import tkinter as tk


def something():
    # Use the global variable for `loop_running`
    global loop_running
    loop_running = False
    # You might also want to add: root.destroy()

loop_running = True

while loop_running:
    root = tk.Tk()
    button = tk.Button(root, text="Break", command=something)
    button.pack()
    root.mainloop()

print("Done")