Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python Tkinter:删除窗口边框_Python_Python 2.7_Tkinter_Border - Fatal编程技术网

Python Tkinter:删除窗口边框

Python Tkinter:删除窗口边框,python,python-2.7,tkinter,border,Python,Python 2.7,Tkinter,Border,如何在不使用OverrideDirect的情况下删除顶级的边框 TopLevel.overrideredirect(True) 如果能提供一个示例代码就太好了 Python 2.7.3、Linux、Tkinter版本$Revision:81008$在Bryan Oakley的帮助下,我实现了一个解决方案,允许我在解决问题时使用“overrideredirect”,即使用“Unmap”事件 下面的示例代码显示,当使用“映射”和“取消映射”时,可以使用主窗口最小化附加窗口: import Tkin

如何在不使用OverrideDirect的情况下删除顶级的边框

TopLevel.overrideredirect(True)
如果能提供一个示例代码就太好了


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

在Bryan Oakley的帮助下,我实现了一个解决方案,允许我在解决问题时使用“overrideredirect”,即使用“Unmap”事件

下面的示例代码显示,当使用“映射”和“取消映射”时,可以使用主窗口最小化附加窗口:

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()
导入Tkinter
类应用程序:
定义初始化(自):
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=“附加窗口”).pack()
self.root.bind(“,self.OnUnMap)
self.root.bind(“,self.OnMap)
self.root.mainloop()
def OnMap(自我,e):
self.window.wm_deiconify()
def OnUnMap(自我,e):
self.window.wm_-draw()
app=app()

OverrideDirect有什么问题?它存在的原因正是你想要的——删除窗口管理器边框。我制作了一个进度条,通过使用OverrideDirect,它隐藏了边框。但是,当我执行TopLevel.transient(父窗口)时,它不起作用。我使用transient的原因是,我想在最小化进度条的父级之后最小化进度条。但是如果OverrideDirect设置为True,使用TopLevel.transient(parentWindow)不会做任何事情您可以使用与Windows WinAPI等效的Linux吗?我只能在Linux上运行我的代码,如果这是您的意思:)我的意思是我不知道如何在Tk中直接执行它,但是我可以通过4行代码使用窗口句柄和WinAPI调用来完成,并且没有任何副作用。Linux中应该有类似的东西。