如何在Kivy中正确对齐TabbedPanel的标签实现居中显示
问题原因
标签栏右偏移是Kivy的TabbedPanel两个默认特性共同导致的:
- 你当前
tab_width的计算基准是下方内容区域的宽度(self.content.width),但标签栏的容器默认自带额外左内边距,导致三个标签总宽度匹配后整体右移 - 默认标签布局容器有内置的padding值,没有和你设置的全局padding对齐
修复方案
只需要修改my.kv文件的规则即可,不需要改动Python代码:
<Main> do_default_tab: False padding: (5, 5) # 调整tab_width计算逻辑,用父容器总宽度减去左右padding后均分 tab_width: (self.width - self.padding[0] - self.padding[2]) / 3 # 重置内部标签容器的默认边距,消除偏移 _tab_layout: padding: 0, 0 spacing: 0 TabbedPanelItem: text: 'First Tab' TabbedPanelItem: text: 'Second Tab' TabbedPanelItem: text: 'Third Tab'
修改后三个标签的总宽度会刚好和下方内容区域宽度一致,且没有默认边距导致的偏移,完全居中对齐。
内容的提问来源于stack exchange,提问作者Hannes Ziegler
相关产品推荐
相关产品推荐

