我想删除使用tkinter
制作的应用程序的窗口边框。
我已经使用了overrideredirect(1)
,但它并不能让我满意:它删除了我想要的窗口边框,但它也删除了任务栏上的图标。
如何删除窗口边框?
答案 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()