我正在使用Tcl / Tk构建一个用户界面,并且遇到了在实际创建之前尝试与顶层窗口进行交互的问题。
我创建了像这样的顶层窗口:
toplevel .t
然后我尝试与它进行交互:
wm stackorder .t isabove .
但是.t
还没有存在,我得到一个关于窗口未被映射的错误。实际上它等同于这样做:
winfo ismapped [toplevel .t]
返回0
,但如果我立即执行以下操作:
winfo ismapped .t
然后返回值为1
。
我怎么知道顶层窗口何时被映射(因此准备与之交互)以便我可以继续我的程序?
答案 0 :(得分:3)
我找到了答案,我需要以下内容:
tkwait visibility .t