Tkinter的overrideredirect()行为奇怪(Python 3.2,Win7)

时间:2012-12-24 10:20:52

标签: python tkinter

我希望我的应用程序使用没有框架的Toplevel窗口,但是当我在创建Toplevel后立即尝试使用overrideredirect时,它根本不显示。如果我单独调用overrideredirect,例如按下为最后创建的Toplevel调用它的按钮,则按预期工作。 这种行为是某种意图,或者至少是明智的吗?我该如何解决它?

2 个答案:

答案 0 :(得分:0)

找到一个链接,修复了他为我发出的问题。

http://infohost.nmt.edu/tcc/help/pubs/tkinter/web/toplevel.html

  

请务必调用.update_idletasks()方法(参见第26节,   “通用小部件方法”)在设置此标志之前。如果你打电话   在进入主循环之前,您的窗口将被禁用   永远都会出现。

答案 1 :(得分:0)

我在使用Python 3.6.1和tcl / tk 8.5.18的macOS 10.12.5上遇到了同样的问题(参见this question)。正如上面的评论中所建议的那样,在调用.lift()之后立即调用顶层窗口上的.overrideredirect(True)修复了我的问题。