出于某种原因,运行代码时,我的tkk notebook标签中的字体是顶部对齐的。我在macOS 10.11.6上使用python 2.7。这就是它的样子:
考虑到ttk的原始本土外观,这是一种新生。
是否有人知道如何调整主题/风格以解决此问题或完全解决此问题?
这是我的代码:
import Tkinter as tk
import ttk
win = tk.Tk()
frame = ttk.Frame()
win.title("Python GUI")
tabControl = ttk.Notebook(win)
tab1 = ttk.Frame(tabControl)
tabControl.add(tab1, text='Tab 1')
tab2 = ttk.Frame(tabControl)
tabControl.add(tab2, text="Tab2")
ttk.Label(tab1, text="Hello, this is a tab").grid(column=0, row=0)
ttk.Label(tab2, text="Hello, this is another tab").grid(column=0, row=0)
tabControl.pack(expand=0, fill="both")
win.mainloop()
答案 0 :(得分:0)
由于我无法重新创建您遇到的错误,因此有点难以说明。我认为最好的选择是创建自定义主题,然后更改选项卡的布局选项
import Tkinter as tk
import ttk
win = tk.Tk()
frame = ttk.Frame()
style = ttk.Style()
style.theme_create("custom_tabs", parent="alt", settings={
"TNotebook.Tab": {
"configure": {"padding": [10, 10, 10, 10]}
}})
style.theme_use("custom_tabs")
win.title("Python GUI")
tabControl = ttk.Notebook(win)
tab1 = ttk.Frame(tabControl)
tabControl.add(tab1, text='Tab 1')
tab2 = ttk.Frame(tabControl)
tabControl.add(tab2, text="Tab2")
ttk.Label(tab1, text="Hello, this is a tab").grid(column=0, row=0)
ttk.Label(tab2, text="Hello, this is another tab").grid(column=0, row=0)
tabControl.pack(expand=0, fill="both")
win.mainloop()
只需根据需要更改填充,值如下: [左边填充,顶部填充,右边填充,底部填充]