如何删除窗口边框?

时间:2015-06-27 05:35:19

标签: python tkinter window

我想删除使用tkinter制作的应用程序的窗口边框。

我已经使用了overrideredirect(1),但它并不能让我满意:它删除了我想要的窗口边框,但它也删除了任务栏上的图标。

如何删除窗口边框?

2 个答案:

答案 0 :(得分:7)

我认为这就是你要求的。我不知道你是否可以在不使用Toplevel的情况下做到这一点,但这里有一个小例子,说明如何移除窗口边框并将图标保留在任务栏中。

import tkinter as tk

root = tk.Tk()
root.attributes('-alpha', 0.0) #For icon
#root.lower()
root.iconify()
window = tk.Toplevel(root)
window.geometry("100x100") #Whatever size
window.overrideredirect(1) #Remove border
#window.attributes('-topmost', 1)
#Whatever buttons, etc 
close = tk.Button(window, text = "Close Window", command = lambda: root.destroy())
close.pack(fill = tk.BOTH, expand = 1)
window.mainloop()

然后,您可以根据需要添加按钮,标签,window

答案 1 :(得分:4)

如果你正在使用Canvas(因为这个帖子是谷歌中的第一个结果)并且你有这些边框让你讨厌,当你想要你的画布成为窗口时,Canvas的构造函数有一个适合的参数您的需求:highlightthickness=0

import tkinter as tk

root = tk.Tk()
root.overrideredirect(True)

w, h = 800, 500

canvas = tk.Canvas(root, width=w, height=h, highlightthickness=0)
# ...
# Do your things in your canvas
# ...

canvas.pack(fill='both')

root.mainloop()