【问题标题】:How do I change the border color of a tkinter widget?如何更改 tkinter 小部件的边框颜色?
【发布时间】:2020-01-04 17:14:06
【问题描述】:

我一直在尝试在 Tkinter 中配置小部件的边框颜色,我想知道如何做到这一点....

我检查了 StackOverflow,它说我应该使用 configure 选项,然后设置 highlightbackgroundcolor = {insert color here}。我已经尝试过了,但没有任何效果。有人可以给我看一个有效的代码示例,以便我弄清楚吗?

【问题讨论】:

标签: python tkinter widget ttk


【解决方案1】:

无法更改小部件的边框颜色,边框颜色与小部件的背景颜色相关联。相反,您可以关闭边框,然后使用框架小部件,您可以在其中设置框架的背景颜色。

import tkinter as tk

root = tk.Tk()

label_border = tk.Frame(root, background="red")
label = tk.Label(label_border, text="This has a red border", bd=0)
label.pack(fill="both", expand=True, padx=1, pady=1 )

label_border.pack(padx=20, pady=20)

root.mainloop()

【讨论】:

  • 谢谢。背景和边框不一样的原因是什么?
  • 如果边框与背景颜色相同,您将看不到它。
  • 我只想更改边框/高亮颜色。有可能吗?
  • 我还是不明白为什么这不可能。仅更改边框可能很有用
  • @doofx:这是不可能的,因为小部件根本没有任何选项或功能可以做到这一点。