Как изменить цвет и размер границы контекстного меню tkinter?

Задача: изменить цвет и ширину границы контекстного меню tkinter.

Сделал запрос:

menu = tk.Menu(tearoff=0)
print(menu.config())

Получил:

{
'activebackground': ('activebackground', 'activeBackground', 'Foreground', <string object: 'SystemHighlight'>, <string object: 'SystemHighlight'>),
'activeborderwidth': ('activeborderwidth', 'activeBorderWidth', 'BorderWidth', '0', 1),
'activeforeground': ('activeforeground', 'activeForeground', 'Background', <string object: 'SystemHighlightText'>, <string object: 'SystemHighlightText'>),
'background': ('background', 'background', 'Background', <string object: 'SystemMenu'>, <string object: 'SystemMenu'>),
  'bd': ('bd', '-borderwidth'),
  'bg': ('bg', '-background'),
'borderwidth': ('borderwidth', 'borderWidth', 'BorderWidth', '0', 1),
'cursor': ('cursor', 'cursor', 'Cursor', <string object: 'arrow'>, <string object: 'arrow'>),
'disabledforeground': ('disabledforeground', 'disabledForeground', 'DisabledForeground', <string object: 'SystemDisabledText'>, <string object: 'SystemDisabledText'>), 
  'fg': ('fg', '-foreground'),
'font': ('font', 'font', 'Font', 'TkMenuFont', <string object: '{Segoe UI} 9'>),
'foreground': ('foreground', 'foreground', 'Foreground', <string object: 'SystemMenuText'>, <string object: 'SystemMenuText'>),
'postcommand': ('postcommand', 'postCommand', 'Command', '', ''),
'relief': ('relief', 'relief', 'Relief', <string object: 'flat'>, <string object: 'flat'>),
'selectcolor': ('selectcolor', 'selectColor', 'Background', <string object: 'SystemMenuText'>, <string object: 'SystemMenuText'>),
'takefocus': ('takefocus', 'takeFocus', 'TakeFocus', '0', '0'),
'tearoff': ('tearoff', 'tearOff', 'TearOff', 1, 0),
'tearoffcommand': ('tearoffcommand', 'tearOffCommand', 'TearOffCommand', '', ''),
'title': ('title', 'title', 'Title', '', ''),
'type': ('type', 'type', 'Type', <string object: 'normal'>, <string object: 'normal'>)
}

В списке нашел borderwidth и bd который ссылается на borderwidth.

При изменении параметра ничего не обнаружил, но если убрать tearoff получаю новую кнопку в контекстном меню, нажимая на которую происходит развертывание окна. В этом окне граница изменяется.

Может у кого есть варианты как добраться до границы контекстного меню другими средствами, например через родительское окно, через параметры tearoff, или на крайняк через ttk.style всего приложения?

SystemHighlight - это же название системного цвета, типа black, white, blue, yellow и т.д., верно?


Ответы (0 шт):