并不是真的相关,但我正在构建一个日历,而且我有很多Label小部件,因此如果我有一些边框,它看起来会更好!
我已经看到你可以为其他小部件执行此操作,例如Button,Entry和Text。
最小代码:
from tkinter import *
root = Tk()
L1 = Label(root, text="This")
L2 = Label(root, text="That")
L1.pack()
L2.pack()
我尝试过设置
highlightthickness=4
highlightcolor="black"
highlightbackground="black"
borderwidth=4
在小部件内部,但仍然是相同的结果。
这甚至可以吗?谢谢!
答案 0 :(得分:41)
如果您想要边框,则选项为borderwidth
。您还可以选择边框的浮雕:"flat"
,"raised"
,"sunken"
,"ridge"
,"solid"
和"groove"
。
例如:
l1 = Label(root, text="This", borderwidth=2, relief="groove")
注意:"ridge"
和"groove"
要求至少两个宽度像素才能正确呈现
答案 1 :(得分:0)
@Pax Vobiscum-实现此目的的一种方法是获取一个小部件,并在该小部件后面扔一个带有颜色的框架。 Tkinter的所有用途可能在其功能集中有些原始。 bordercolor选项对于任何小部件工具箱都是合乎逻辑的,但似乎没有。
from Tkinter import *
root = Tk()
topframe = Frame(root, width = 300, height = 900)
topframe.pack()
frame = Frame(root, width = 202, height = 32, highlightbackground="black", highlightcolor="black", highlightthickness=1, bd=0)
l = Entry(frame, borderwidth=0, relief="flat", highlightcolor="white")
l.place(width=200, height=30)
frame.pack
frame.pack()
frame.place(x = 50, y = 30)
使用此方法的示例可能是创建表:
from Tkinter import *
def EntryBox(root_frame, w, h):
boxframe = Frame(root_frame, width = w+2, height= h+2, highlightbackground="black", highlightcolor="black", highlightthickness=1, bd=0)
l = Entry(boxframe, borderwidth=0, relief="flat", highlightcolor="white")
l.place(width=w, height=h)
l.pack()
boxframe.pack()
return boxframe
root = Tk()
frame = Frame(root, width = 1800, height = 1800)
frame.pack()
labels = []
for i in range(16):
for j in range(16):
box = EntryBox(frame, 40, 30)
box.place(x = 50 + i*100, y = 30 + j*30 , width = 100, height = 30)
labels.append(box)