如何在Tkinter中去除小部件的边框?
Tkinter带有不同类型的小部件,如按钮,输入框,框架,标签,单选按钮,滚动条等。小部件是标准的图形用户界面(GUI)元素,用于显示信息或帮助用户与系统交互。
在此示例中,我们将演示如何从画布,输入字段,标签和按钮中删除边框。
步骤 −
- 导入所需的库并创建Tkinter框架的实例。
-
使用 root.geometry 方法设置框架的大小。
-
接下来,创建Canvas并使用 “bd” 属性设置画布的边框宽度。然后,使用 “highlightthickness” 属性定义是否要显示画布边框。如果要删除画布边框,请设置 “highlightthickness=0” 。
-
定义两个用户定义的函数, start() 和 stop() ,以控制 infinite_loop 。定义全局变量 “condition” 。在 start() 内,设置condition=True,在 stop() 内,设置 condition=False 。
-
接下来,在Canvas内创建两个Entry字段。使用 borderwidth 属性设置一个Entry字段的边框。
-
同样地,创建两个标签并使用 borderwidth 属性和 relief=’solid’ 显示标签周围的边框。
-
接下来,创建两个按钮并设置 “borderwidth=0” 在一个按钮上。这将删除按钮周围的边框。
-
最后,运行应用程序窗口的 mainloop 。
示例
# 导入所需的库
from tkinter import *
#创建Tkinter框架的实例
root=Tk()
# 设置框架的大小
root.geometry("700x350")
# 创建Canvas Widget
canvas= Canvas(root, bd=2, highlightthickness=2)
canvas.pack(side=TOP, padx=10, pady=10)
# 创建Entry Widget
text=Entry(canvas, width=50)
text.insert(0, "Widget with border")
text.config(borderwidth=5)
text.pack(side=TOP, padx=10, pady=10)
# 创建无边框的Entry Widget
text=Entry(canvas, width=50)
text.insert(0, "Widget without border")
text.pack(side=TOP, padx=10, pady=10)
label1 = Label(canvas, text="Label with border", borderwidth=2, relief='solid', font="Calibri, 14")
label1.pack(side=BOTTOM, padx=10, pady=10)
label2 = Label(canvas, text="Label without border", borderwidth=0, font="Calibri, 14")
label2.pack(side=BOTTOM, padx=10, pady=10)
button1 = Button(root, text="Standard Button")
button1.pack(side=TOP, padx=10, pady=10)
button2 = Button(root, text="Button without Border", borderwidth=0)
button2.pack(side=TOP, padx=10, pady=10)
root.mainloop()
输出
在执行时,它将产生以下输出 –
注意,Canvas Widget具有边框。如果在Canvas中设置属性 “highlightthickness=0” ,则它将不再显示周围的边框。
同样地,我们有两个按钮,一个带边框,另一个没有边框。要在 button Widget中删除边框,我们使用了参数 “borderwidth=0” 。