Python tkinter如何隐藏标题栏

我要做一个界面,但是不想留顶部的标题、最小化、关闭等,我查了一下,说 root.overrideredirect(True) 可以,但我试了一下,他有几个缺点:
1、会把窗口固定在左上角
2、任务栏看不见应用程序

版本:3.8.6
麻烦大家帮我一下,谢谢了

您可以使用 root.overrideredirect(True) 来隐藏标题栏,但是这样做确实会有一些缺点,比如您提到的窗口固定在左上角和任务栏看不见应用程序。这是因为 overrideredirect 方法会禁用窗口管理器提供的所有装饰和功能。
如果您希望窗口不固定在左上角,可以使用 geometry 方法来设置窗口的位置。例如:
root.geometry("+300+300")
这样就可以将窗口移动到距离屏幕左上角 300 像素的位置。
至于任务栏看不见应用程序的问题,我目前没有找到解决办法。也许您可以考虑使用其他 GUI 库来实现您想要的效果。

该回答引用GPTᴼᴾᴱᴺᴬᴵ
使用 overrideredirect(True) 是一种常见的隐藏窗口边框和标题栏的方法,但是它也有一些限制,如你所提到的窗口位置固定在左上角和任务栏中不显示。这是因为 overrideredirect(True) 将窗口从窗口管理器中移除,窗口将不再受窗口管理器的管理。

如果你想要隐藏窗口边框和标题栏,但仍然需要在任务栏中显示应用程序,可以使用以下方法:

import tkinter as tk

root = tk.Tk()

# 隐藏窗口边框和标题栏
root.overrideredirect(True)

# 设置窗口的大小和位置
root.geometry("500x300+100+100")

# 添加自定义标题栏
title_bar = tk.Frame(root, bg="gray")
close_button = tk.Button(title_bar, text="X", command=root.destroy)
title_bar.pack(expand=1, fill="x")
close_button.pack(side="right")

# 添加其他内容到窗口
content = tk.Frame(root, bg="white")
content.pack(expand=1, fill="both")

# 运行主循环
root.mainloop()


这个示例代码中,首先使用 overrideredirect(True) 方法隐藏窗口边框和标题栏,然后自己创建一个自定义的标题栏,并将它放在窗口的顶部,最后在标题栏上添加关闭按钮。这样可以在隐藏窗口边框和标题栏的同时,仍然能在任务栏中显示应用程序,并且具有自定义的标题栏。

不知道你这个问题是否已经解决, 如果还没有解决的话:

如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^

https://zhuanlan.zhihu.com/p/560963001 这个文章中解决了, 我以后知道了有问题一定要多个平台找找, 我也一样因为这个困惑了很久, 看到这个文章的时候激动坏了