Python Tkinter:删除窗口边框

时间:2014-09-30 01:16:54

标签: python python-2.7 tkinter border

如何在不使用overrideredirect的情况下删除TopLevel的边框?

TopLevel.overrideredirect(True)

如果可以提供示例代码,那就太棒了。

Python 2.7.3,Linux,Tkinter版本$ Revision:81008 $

1 个答案:

答案 0 :(得分:2)

在Bryan Oakley的帮助下,我实现了一个允许我使用' overrideredirect'在解决我的问题时,那就是使用' Unmap'事件

以下示例代码显示,当使用' Map'时,可以使用主窗口最小化附加窗口。和'取消映射':

import Tkinter
class App:
    def __init__(self):
        self.root = Tkinter.Tk()
        Tkinter.Label(self.root, text="main window").pack()
        self.window = Tkinter.Toplevel()
        self.window.overrideredirect(True)
        Tkinter.Label(self.window, text="Additional window").pack()
        self.root.bind("<Unmap>", self.OnUnMap)
        self.root.bind("<Map>", self.OnMap)
        self.root.mainloop()
    def OnMap(self, e):
        self.window.wm_deiconify()
    def OnUnMap(self, e):
        self.window.wm_withdraw()
app=App()