0

在此处输入图像描述

如您所见,每个 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)

4

1 回答 1

1

有几件事要说:

  1. 当您想将框架添加到 attk.Notebook时,将其用作框架的主控。在您的代码中,给出了root

  2. 无需使用新的ttk.Style(). 而是设置原版的布局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()

于 2021-06-26T08:13:13.693 回答