如何在Python Tkinter中为框架添加边框

14

以下是我的用户界面。我想为框架添加一个边框。

但我没有得到任何有关如何添加边框的信息。我该怎么做?

像图片中那样添加边框

6个回答

24

在Tkinter中,所请求的功能不叫做"border"(边框),而是叫做"highlight"(高亮)。

要实现上述功能,请设置highlightbackground="black"highlightthickness=1

(边框是围绕框架保留的空白空间。有关更多信息,请参见文档。)


4
这个链接似乎已经失效了:"effbot.org正在休息。我们将以某种形式回来。" 这两个选项需要更好的解释——例如,这些选项是添加到哪个小部件中的?当我使用框架时,我得到了一个_tkinter.TclError:未知选项“-highlightbackground”。我请求帮助,因为这个“答案”似乎是针对该问题最受赞的答案。 - Harlin
2
我必须同意Harlin的观点,这对我来说似乎根本不起作用。我认为这个答案需要更新。 - Mi-krater

6
在文档中查看使用Tkinter应用到帧的样式:Tkinter Frame Widget 以下是具体操作步骤:
import tkinter as tk
#tk.Frame(master, **config-options)

my_frame = tk.Frame(parent_widget, borderwidth = 1)

5
from tkinter import *
root = Tk()
frame1 = Frame(root, highlightbackground="blue", highlightthickness=1,width=600, height=100, bd= 0)
frame1.pack()
root.mainloop()
  • 根据需要更改选项

  • highlightbackground 用于更改聚焦小部件的颜色

  • highlightthickness 用于指定聚焦小部件周围边框的粗细。


1

我已经尝试过:

frame_left = tk.Frame(window, width=100, height=360, bg="blue", borderwidth=1, relief=tk.RIDGE)
frame_left.pack(side=tk.LEFT, fill=tk.BOTH, expand=1)
frame_right = tk.Frame(window, highlightbackground="green", highlightthickness=10, width=100, height=100, bd=0)
frame_right.pack(side=tk.RIGHT, fill=tk.BOTH, expand=1)

请查看下面的链接,了解上述代码的输出结果:

https://istack.dev59.com/JkgAm.webp


0
请使用root.config()
root.configure(background= "#ffffff", borderwidth =2)

0
你可以这样使用 reliefborderwidth
from tkinter import *    
root = Tk()
frame1 = Frame(root, width=400, height=660, bg="White", borderwidth=1, relief=RIDGE)
frame1.place(relx=0.7, y=80)
root.mainloop()

在Python中它们有一个名称吗?命名参数?也许可以添加(非裸露的)特定链接到这两个的文档?(但是不要包括“编辑:”,“更新:”或类似内容 - 答案应该看起来像今天写的。) - Peter Mortensen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接