2016-03-16 2 views
0

Я пытаюсь изменить размер вкладок в виджетах tkinter Notebook, но я не смог найти ничего, что фактически изменит ширину и высоту вкладки. Нет ли прямого способа их изменить? Или есть способ обойти это? В настоящее время я использую python 3, если это что-то меняет.Изменение размеров вкладок виджета Notebook в Python 3

+0

Вы не можете установить ширину табуляции. Однако вы можете настроить текст вкладки с пробелами для получения ширины. –

+0

Да, я думаю, это могло бы работать для ширины. Тем не менее проблема с высотой. Я предполагаю, что изменение размера текста может изменить размеры вкладок, но я не уверен, как это сделать. – ScottH

ответ

2

Я думаю, что вы хотите заполнить вкладки ноутбука ttk?

В этом случае вы можете использовать собственный стиль, который вы можете настроить на свой вкус для цветов обивки и т.д.

import tkinter as tk 
from tkinter import ttk 

root = tk.Tk() 
style = ttk.Style() 
style.theme_create("MyStyle", parent="alt", settings={ 
     "TNotebook": {"configure": {"tabmargins": [2, 5, 2, 0] } }, 
     "TNotebook.Tab": {"configure": {"padding": [100, 100] },}}) 

style.theme_use("MyStyle") 

a_notebook = ttk.Notebook(root, width=200, height=200) 
a_tab = ttk.Frame(a_notebook) 
a_notebook.add(a_tab, text = 'This is the first tab') 
another_tab = ttk.Frame(a_notebook) 
a_notebook.add(another_tab, text = 'This is another tab') 
a_notebook.pack(expand=True, fill=tk.BOTH) 

tk.Button(root, text='Some Text!').pack(fill=tk.X) 

root.mainloop() 
+0

Да! Это именно то, что я искал! Огромное спасибо. – ScottH

1

Я сделал то, что предложило Pythonista. Он работал очень хорошо, но он изменил поведение другого виджета, так как тема применяется глобально. Например, текст (ОК или Отмена) в диалоговом окне «askokcancel» был выровнен слева, а не оставался в центре. Самый простой способ, который я только что добавил, дополняет и не изменяет другого поведения:

style = ttk.Style() 
style.theme_settings("default", {"TNotebook.Tab": {"configure": {"padding": [30, 30]}}}) 
Смежные вопросы