как убрать полоску вокруг tkinter.Menu?
Как убрать полоску вокруг виджета Menu в tkinter? я пробовал bd=0 и borderwidth=0 но это не помогло
вот код:
import tkinter
root = tkinter.Tk()
def test():
print("test")
def do_popup(event):
menu = tkinter.Menu(root, tearoff = 0, bg='#11b384', fg='black', activebackground='#12cc97', activeforeground='black', relief='solid', borderwidth=0, bd=0)
menu.add_command(label="Item 1", command=test)
menu.add_command(label="Item 2", command=test)
try:
menu.tk_popup(event.x_root, event.y_root)
finally:
menu.grab_release()
root.bind("<Button-3>", lambda event: do_popup(event))
root.mainloop()
Ответы (2 шт):
Можно по пробовать написать собственное меню опций, тогда получится сделать без этой полоски вокруг виджета, но так это не сделать
Вот нашел как это сделать
Цвет границы меню задается цветом фона меню. Если вы хотите, чтобы цвет рамки отличался от цвета фона меню, вы должны установить цвет фона для каждой записи отдельно.
Для толщины границы просто установите значение в пикселях в атрибуте «граница» и тип рельефа «плоский», чтобы tkinter не создавал псевдо-3D с заданным цветом.
Затем, учитывая изображение выше, мы создадим окно меню с черным фоном в меню и красной рамкой:
import tkinter
def command():
pass
def main():
w = tkinter.Tk()
menu = tkinter.Menu(w, background="black", foreground="red")
file_menu = tkinter.Menu(menu, background="red", foreground="red", relief="flat", border=8, tearoff=0)
opcoes = "Contas User Usuários Email Services Login Cad. Usuário Variáveis do Sistema Sair".split(" ")
for opcao in opcoes:
file_menu.add_command(label=opcao, command=command, background="black")
menu.add_cascade(label="Cadastro", menu=file_menu)
w.config(menu=menu)
return w
main()
tkinter.mainloop()
(этот код предназначен для Python 3 — в Python 2 просто измените «tkinter» на «Tkinter» во всех точках)
Если вы хотите изменить цвет фона или какой-либо другой атрибут пункта меню после его создания, вы должны использовать метод в меню:
file_menu.entry_config(0, ...)
Где 0 — индекс нужной записи.
