如何只删除 window 边框?
How to remove just the window border?
我想删除使用 tkinter
制作的应用程序的 window 边框。
我已经用过overrideredirect(1)
,但它并不令我满意:它删除了我想要的window边框,但它也删除了任务栏上的图标。
我怎样才能删除 window 边框?
我认为这就是您的要求。我不知道您是否可以在不使用 Toplevel
的情况下执行此操作,但这里有一个小示例,说明您可以如何删除 window 边框并将图标保留在任务栏中。
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
万一您使用的是 Canvas(因为此线程是 Google 中的第一个结果)并且当您希望 canvas是 window,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()
我想删除使用 tkinter
制作的应用程序的 window 边框。
我已经用过overrideredirect(1)
,但它并不令我满意:它删除了我想要的window边框,但它也删除了任务栏上的图标。
我怎样才能删除 window 边框?
我认为这就是您的要求。我不知道您是否可以在不使用 Toplevel
的情况下执行此操作,但这里有一个小示例,说明您可以如何删除 window 边框并将图标保留在任务栏中。
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
万一您使用的是 Canvas(因为此线程是 Google 中的第一个结果)并且当您希望 canvas是 window,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()