Lia*_*fee 3 python user-interface tkinter ttk
我正在使用 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")
Run Code Online (Sandbox Code Playgroud)
你可能会看到我遵循 Visual Studio 代码的风格,所以首先是使该框架平坦,然后展开选项卡,到目前为止 ttk 给我带来了困难
小智 5
这是一个很老的问题,但我也想知道,并且似乎找到了答案,所以我还是把它发布出来吧。使用"borderwidth",不使用"relief"。
通过该属性,"borderwidth"您可以设置边框的粗细。只需将其设置为零,浮雕就会消失。
您可以为笔记本进行设置,以使页面边框消失。
"TNotebook": {
"configure": {"tabmargins": [2, 5, 2, 0]},
"borderwidth": 0
}
Run Code Online (Sandbox Code Playgroud)
我的程序中的示例:
正常(有边框/浮雕):

页面有平坦边框:

您还可以为笔记本选项卡设置它,以使边框消失:
"TNotebook.Tab": {
"configure": {
"borderwidth": 0,
"bordercolor" : BG_COLOUR,
"darkcolor" : BG_COLOUR,
"lightcolor" : BG_COLOUR,
"padding": [5, 1], "background": BG_COLOUR
}
}
Run Code Online (Sandbox Code Playgroud)
两个边界都设置为零:

我只在Windows上测试过,不知道Mac或Linux是否有差异。
| 归档时间: |
|
| 查看次数: |
1686 次 |
| 最近记录: |