Tkinter中更改笔记本选项卡的宽度而无需

时间:2018-07-04 22:23:14

标签: python tkinter

是否可以在tkinter中更改笔记本标签的宽度,而无需在标签名称中输入space?我试图放宽,但没有成功。 是否有诸如tabwidht之类的选项,这样我可以固定制表符的大小?

import tkinter as tk
from tkinter import ttk

root = tk.Tk()

style = ttk.Style(root)
style.configure('lefttab.TNotebook', tabposition='wn',width=80)

notebook = ttk.Notebook(root, style='lefttab.TNotebook')

f1 = tk.Frame(notebook, bg='red', width=200, height=200)
f2 = tk.Frame(notebook, bg='blue', width=200, height=200)

notebook.add(f1, text="frame 1")
notebook.add(f2, text="frame 2 longer")

notebook.grid(row=0, column=0, sticky="nw")

root.mainloop()

1 个答案:

答案 0 :(得分:1)

在定义标签的文本时使用字符串格式:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
notebook = ttk.Notebook(root)

f1 = tk.Frame(notebook, bg='red', width=200, height=200)
f2 = tk.Frame(notebook, bg='blue', width=200, height=200)

notebook.add(f1, text=f'{"frame 1": ^20s}')
notebook.add(f2, text=f'{"frame 2 longer": ^20s}')

notebook.grid(row=0, column=0, sticky="nw")
root.mainloop()

使用您选择的尺寸代替'20'。 注意使用正确的引号字符:

f'{"something": ^20s}'

或相反:

f"{'something': ^20s}"