我有一个窗口,左边有一个垂直菜单。此菜单工作正常,样式如下:
style = ttk.Style()
style.theme_use('default') # select a theme that allows configuration of ttk.Notebook
# put the tabs at the left with white background
style.configure('TNotebook', tabposition='wn', background='#e10a0a', tabmargins=0)
# configure tab with white background initially, yellow background when selected
style.configure('TNotebook.Tab', background='#d10000', width=25, focuscolor='#e10a0a', foreground='white', borderwidth=1)
style.map('TNotebook.Tab', background=[('selected', '#960000')])现在,在这个垂直菜单的选项卡页中,我想创建第二个简单的选项卡控件,它具有经典选项卡控件的经典样式(水平选项卡和灰色),但是当我创建它时,创建的选项卡控件具有具有垂直菜单的主选项卡控件的样式(因此左栏和红色)。
因此,问题在于这两个选项卡控件之间存在冲突。我创建这样的选项卡:
tabControl2 = ttk.Notebook(self, style='Custom.TNotebook', width=630, height=915)
tab1 = ttk.Notebook(tabControl)
tab2 = ttk.Notebook(tabControl)
tabControl.add(tab1, text ='A')
tabControl.add(tab2, text ='B')
tabControl.place(x=1, y=41)如何创建具有水平和灰色选项卡的gui排名的tabControl2?如何避免与左侧菜单的主选项卡控件发生冲突?谢谢
发布于 2022-03-12 10:30:25
必须配置具有新名称(如Custom.TNotebook )的样式,还必须配置Custom.TNotebook.Tab。
root = tk.Tk()
style = ttk.Style()
style.theme_use('default')
style.configure('Custom.TNotebook', tabposition='wn', background='white', tabmargins=0)
style.configure('Custom.TNotebook.Tab', background='white', width=25, focuscolor='yellow', foreground='black', borderwidth=1)
style.map('Custom.TNotebook.Tab', background=[('selected', 'yellow')])
t1 = ttk.Notebook(root, style='Custom.TNotebook', width=100, height=100)
t2 = ttk.Notebook(root, width=100, height=100)
t1.pack()
t2.pack()
tab1 = tk.Frame(t1)
t1.add(tab1, text='A1')
tab11 = tk.Frame(t1)
t1.add(tab11, text='A11')
tab2 = tk.Frame(t2)
t2.add(tab2, text='A2')
tab21 = tk.Frame(t2)
t2.add(tab21, text='A22')
tk.mainloop()https://stackoverflow.com/questions/71445998
复制相似问题