Как изменить цвет границы виджета tkinter?

Я пытался настроить цвет границы виджета в Tkinter, и мне было интересно, как это сделать....

Я проверил StackOverflow, и он говорит, что я должен использовать параметр configure, а затем установить highlightbackgroundcolor = {insert color here}. Я пробовал это, и ничего не получилось. Может кто-нибудь показать мне рабочий пример кода, чтобы я мог понять это?


person IMightBeAPenguin    schedule 04.01.2020    source источник
comment
stackoverflow .com/questions/4320725/. Это говорит highlightbackground, а не highlightbackgroundcolor   -  person sshashank124    schedule 04.01.2020
comment
@ sshashank124 цвет выделения не совпадает с цветом границы.   -  person Bryan Oakley    schedule 04.01.2020


Ответы (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()
person Bryan Oakley    schedule 04.01.2020
comment
Спасибо. В чем причина разницы между фоном и границей? - person doofx; 29.09.2020
comment
Если бы граница была того же цвета, что и фон, вы бы ее не увидели. - person Bryan Oakley; 29.09.2020
comment
я хочу изменить только цвет границы/выделения. Является ли это возможным? - person doofx; 01.10.2020
comment
Я до сих пор не понимаю, почему это невозможно. изменение только границы может быть полезным - person doofx; 02.10.2020
comment
@doofx: это невозможно, потому что у виджета просто нет никаких опций или функций для этого. - person Bryan Oakley; 02.10.2020