首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python 2.7和Tkinter/tkk: Notebook选项卡文本顶部对齐

Python 2.7和Tkinter/tkk: Notebook选项卡文本顶部对齐
EN

Stack Overflow用户
提问于 2016-12-13 15:24:13
回答 1查看 1.2K关注 0票数 2

由于某些原因,我的tkk笔记本选项卡中的字体在运行代码时是顶部对齐的。我使用的是macOS 10.11.6,使用的是Python2.7。它看起来是这样的:

考虑到ttk在其他方面的坚固原生外观,它是一款nuissance。

有没有人知道如何调整主题/样式来解决这个问题,或者完全解决其他问题?

下面是我的代码:

代码语言:javascript
运行
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2016-12-13 17:29:52

这有点难说,因为我无法重新创建您正在经历的错误。我认为最好的选择是创建一个自定义主题,然后更改选项卡的布局选项

代码语言:javascript
运行
复制
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()

只需根据需要更改填充,值如下:左填充,上填充,右填充,下填充

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41115607

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档