как удалить пунктирную линию на tabMenu в tkinter python
как вы видите изображение, каждое tabMenu имеет пунктирную линию после щелчка tabMenu, как удалить эту пунктирную линию? внизу исходный код спасибо.
from tkinter import *
from tkinter import ttk
tabposition = ttk.Style()
tabposition.configure('TNotebook', sticky='w', tabposition='sw')
style = ttk.Style()
tabposition.configure("Tab", focuscolor=style.configure(".")["background"])
notebook = ttk.Notebook(root, width=1450, height=910)
notebook.pack(fill="y",expand=False)
notebook.place(x=526)
def newtab2():
frame0 = Frame(root)
notebook.add(frame0, text="First Input")
addSheet = Button(root, text="Enter", command=newtab2, borderwidth=1)
addSheet.place(x=10, y=159, width=41, height=41)
1 ответ
Решение
Несколько слов:
Если вы хотите добавить фрейм в a, используйте его в качестве эталона для фрейма. В вашем коде было указано
root
Не нужно использовать новый. Вместо этого установите макет оригинала
ttk.Style()
Ниже приведен исправленный код. Обратите внимание, что высота
ttk.Notebook
изменен мной. Вы можете изменить это позже.
from tkinter import *
from tkinter import ttk
root=Tk()
tabposition = ttk.Style()
tabposition.configure('TNotebook', sticky='w', tabposition='sw')
notebook = ttk.Notebook(root, width=1450, height=510)
notebook.pack(fill="both",expand=1)
tabposition.layout("Tab",
[('Notebook.tab', {'sticky': 'nswe', 'children':
[('Notebook.padding', {'side': 'top', 'sticky': 'nswe', 'children':
#[('Notebook.focus', {'side': 'top', 'sticky': 'nswe', 'children':
[('Notebook.label', {'side': 'top', 'sticky': ''})],
#})],
})],
})]
)
def newtab2():
frame0 = Frame(notebook)
notebook.add(frame0, text="First Input")
addSheet = Button(root, text="Enter", command=newtab2, borderwidth=1)
addSheet.place(x=10, y=159, width=41, height=41)
root.mainloop()