首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在继续之前等待Tkinter TopLevel窗口的结果?

在Tkinter中,可以使用wait_window方法来等待TopLevel窗口的结果。

首先,创建一个TopLevel窗口,并设置它的result属性为一个共享的变量,用于存储窗口的结果。然后,在需要等待窗口结果的地方,调用wait_window方法,将TopLevel窗口作为参数传入。这会导致程序暂停执行,直到该窗口被关闭。

以下是一个示例代码:

代码语言:txt
复制
import tkinter as tk

def open_dialog():
    dialog = tk.Toplevel()
    dialog.title("Dialog")
    
    result = tk.StringVar()
    
    def on_ok():
        result.set("OK")
        dialog.destroy()
    
    def on_cancel():
        result.set("Cancel")
        dialog.destroy()
    
    ok_button = tk.Button(dialog, text="OK", command=on_ok)
    ok_button.pack()
    
    cancel_button = tk.Button(dialog, text="Cancel", command=on_cancel)
    cancel_button.pack()
    
    dialog.result = result  # 设置窗口的结果属性

root = tk.Tk()

open_dialog_button = tk.Button(root, text="Open Dialog", command=open_dialog)
open_dialog_button.pack()

root.mainloop()

# 在这里等待TopLevel窗口的结果
print("Dialog result:", open_dialog_button.result.get())

在上面的示例中,当点击"OK"或"Cancel"按钮时,窗口会被关闭,并将结果存储在open_dialog_button.result中。在最后的打印语句中,可以获取到窗口的结果并进行处理。

请注意,这只是一个简单的示例,实际应用中可能需要根据具体需求进行适当的修改和扩展。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的合辑

领券