2014-11-14 3 views
1

Как скрыть панель вкладок в виджетах ttk Notebook? Я не хочу скрывать фрейм, который принадлежит вкладке. Я просто хочу удалить панель вкладок из вида, даже там, где она не находится в верхней части экрана (для более чем одной цели).Как скрыть всю панель вкладок в виде виджета tkinter ttk.Notebook?

В любом случае, это было бы хорошо для полноэкранного режима.

+1

скрывает панель вкладок не имеет никакого эффекта в отношении к использованию пакета и сетки вместе. Вы всегда можете использовать сетку внутри виджета, управляемого пакетом. –

+0

@BryanOakley Я не хотел скрывать планку, чтобы вы могли использовать «сетку». Я имел в виду использование «Ноутбука», позволяющего использовать «сетку» (и удаление панели вкладок эффективно делает ее как «Frame», которая по-разному работает с макетом). Когда я в противном случае пытаюсь использовать 'grid' внутри чего-то упакованного, он всегда жалуется на меня о том, как он уже обрабатывается чем-то, содержащим подчиненные, управляемые' pack'. – Shule

+0

Тот же код, который жалуется на меня с помощью «Рамки», не жалуется на «Блокнот», это то, что я говорю. Панель вкладок - только визуальная дополнительная, которую я хочу удалить. Тем не менее, я больше хочу удалить его для полноэкранного просмотра, чем для «Ноутбуков», используемых с макетом. – Shule

ответ

1

с помощью по tkinter.ttk.Style:

макет (я, стиль, layoutspec = None)

Определить расположение виджета для данного стиля. Если layoutspec
опущен, верните спецификацию макета для данного стиля.

Ожидается, что layoutspec будет представлять собой список или объект, отличный от
Ничего, что оценивает значение False, если вы хотите «отключить» этот стиль.

попробовать это:

import tkinter as tk 
from tkinter import ttk 

root = tk.Tk() 

style = ttk.Style() 

style.layout('TNotebook.Tab', []) # turn off tabs 

note = ttk.Notebook(root) 

f1 = ttk.Frame(note) 
txt = tk.Text(f1, width=40, height=10) 
txt.insert('end', 'Page 0 : a text widget') 
txt.pack(expand=1, fill='both') 
note.add(f1) 

f2 = ttk.Frame(note) 
lbl = tk.Label(f2, text='Page 1 : a label') 
lbl.pack(expand=1, fill='both') 
note.add(f2) 

note.pack(expand=1, fill='both', padx=5, pady=5) 

def do_something(): 
    note.select(1) 

root.after(3000, do_something) 
root.mainloop() 
Смежные вопросы