我正在为笔记本使用 ttk,我尝试将笔记本的框架更改为平面浮雕,但没有太多有用的资源
环顾四周,我知道 ttk
非常依赖样式,所以我创建了一个新样式,但到目前为止只能更改几个元素,因为我找不到我想要的确切元素名称改变。这包括 Notebook
框架的浮雕。
style = ttk.Style()
style.theme_create(
"name", parent="alt", settings = {
".": {"configure": {"background": BG_COLOUR,
"foreground": "white",
"relief": "flat"}},
"TLabel": {"configure": {"foreground": "white",
"padding": 10,
"font": ("Calibri", 16)}},
"TNotebook": {"configure": {"tabmargins": [2, 5, 2, 0]}
},
"TNotebook.Tab": {
"configure": {"relief" : "flat",
"bordercolor" : BG_COLOUR,
"darkcolor" : BG_COLOUR,
"lightcolor" : BG_COLOUR,
"padding": [5, 1], "background": BG_COLOUR
},
"map": {"background": [("selected", BG_COLOUR)],
"expand": [("selected", [1, 1, 1, 0])]}
}
})
style.theme_use("name")
你可能会看到我在遵循 Visual Studio 代码的风格,所以首先是使框架变平,然后展开选项卡,到目前为止 ttk 给我带来了困难
最佳答案
这是一个很老的问题,但我也有同样的疑问并且似乎找到了答案,所以我还是把它贴出来吧。使用 "borderwidth"
,而不是 "relief"
。
使用属性 "borderwidth"
可以设置边框的粗细。只需将其设置为零,浮雕就会消失。
你可以为notebook设置,让页面的边框消失。
"TNotebook": {
"configure": {"tabmargins": [2, 5, 2, 0]},
"borderwidth": 0
}
我的程序中的示例:
正常(带边框/浮雕):
页面的扁平边框:
您还可以为笔记本标签设置它,使它们的边框消失:
"TNotebook.Tab": {
"configure": {
"borderwidth": 0,
"bordercolor" : BG_COLOUR,
"darkcolor" : BG_COLOUR,
"lightcolor" : BG_COLOUR,
"padding": [5, 1], "background": BG_COLOUR
}
}
两个边界都设置为零:
我只在 Windows 上测试过,我不知道 Mac 或 Linux 是否有差异。
关于python - 如何将 ttk.Notebook 框架配置为平面浮雕?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57866990/