我有一个TCL / TK gui,有一些中间窗口。当中间窗口启动时,我保持主窗口忙。
但是当启动其他应用程序时,有时中间窗口会进入后台,此时GUI似乎挂起了。所以目标是将窗口保持在前景/背景中以及主窗口。
我选择瞬态窗口选项。
wm transient .runner .restGUI
这在windows中工作正常,但在linux中,瞬态窗口不显示[x]关闭按钮。我必须右键单击标题栏才能关闭它。这使得GUI无效。
对此有任何建议。
同样经过测试,wm deiconify不适用于Linux中的常规窗口,但适用于瞬态窗口。
答案 0 :(得分:2)
没有办法保证窗口会保持在最顶层;其他程序总是可以调解并阻止它。但是,您可以通过设置正确的attribute on the window来提供非常强大的提示。
# Can use any boolean value here
wm attributes .runner -topmost yes
如果您在足够现代的平台上使用足够现代的Tk,那么这是一个跨平台属性(极少数属性之一)。你可能已经这样做了。
您还应该将窗口样式设置为瞬态等等。最顶层的属性是一个独立的轴。
有关更广泛的讨论(现在已经过时),请参阅the Tcler's Wiki ...
答案 1 :(得分:0)
尝试使grab .runner
保持窗口在顶部。
但这又是在Windows中工作,而不是在linux中工作。
想要两个平台的解决方案,因为产品验证在两个平台上完成