是否可以在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()
答案 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}"