小编典典

使用Tkinter删除没有overrideredirect()的标题栏?

python

我目前正在Linux上使用Tkinter和Python
2.7,我想知道是否有一种TK()无需使用即可删除窗口边框和标题栏的方法overrideredirect(1)

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

  • GUI始终位于顶部
  • 无法图标化然后正确去图标化
  • 没有键盘输入,因此无法键入字段

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


阅读 277

收藏
2021-01-20

共1个答案

小编典典

窗口装饰都是由窗口管理器处理的,因此您要尝试的是找到一种告诉窗口管理器以不同于标准应用程序窗口的方式装饰窗口的方法。Tk提供overrideredirect了让窗口管理器完全忽略该窗口的方法,但是我们也可以使用扩展窗口管理器提示窗口管理器声明此顶级窗口的预期用途。例如,对工具提示和启动屏幕窗口执行此操作,以允许管理器提供最少的装饰并可能提供特殊的动画。

在您的情况下,添加“启动”提示应该可以满足您的要求

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

为此,您需要Tk 8.5或更高。

2021-01-20