使用Tkinter删除标题栏而不重写Direct()?

2024-06-16 08:53:46 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在Linux上使用Tkinter和Python2.7,我想知道是否有办法在不使用overrideredirect(1)的情况下删除TK()窗口边框和标题栏。

我有自己的关闭按钮,overrideredirect(1)向我提出了一些我不能接受的问题:

我不能用attributes("-fullscreen", True)作为标题栏和边框。


Tags: 键入tkinterlinux情况图形用户界面按钮tk办法
2条回答

窗口装饰全部由窗口管理器处理,所以您要做的是找到一种方法,告诉窗口管理器以不同于标准应用程序窗口的方式来装饰您的窗口。Tk提供overrideredirect让窗口管理器完全忽略此窗口,但我们也可以使用Extended Window Manager Hints向窗口管理器声明此顶层窗口的预期用途。例如,对于工具提示和splashscreen窗口,这样可以使管理器提供最少的装饰和可能的特殊动画。

在您的例子中,添加一个“splash”提示应该可以满足您的需要

root = tk.Tk()
root.wm_attributes('-type', 'splash')

你需要Tk 8.5或以上。

在命令之前必须给出根窗口名。

像这样:

from tkinter import *

root=Tk()
root.wm_attributes('-fullscreen','true')
root.mainloop()

相关问题 更多 >