Kivy - 为标签按钮添加图标

2022-01-09 00:00:00 python kivy user-interface icons tabs

问题描述

我在 Kivy 中使用 TabbedPanel,效果很好,但我想稍微自定义一下选项卡按钮并在文本旁边添加一个图标.

I am using a TabbedPanel in Kivy, it works perfectly well, but I would like to customize the tab buttons a bit and add a icon next to the text.

现在我有这样的事情:

我想要这样的东西:

我的kv文件如下:

<KivyMasterPanel>
    do_default_tab: False
    id: MasterPanel
    tab_width: self.size[0]/len(self.tab_list)

    TabbedPanelItem:
        id: tab_A
        text: 'A'

    TabbedPanelItem:
        id: tab_B
        text: 'B'

    TabbedPanelItem:
        id: tab_C
        text: 'C'

有什么我可以用来代替 TabbedPannelItem.text 的东西来放置 BoxLayout 或里面的东西.如果可能的话,我希望能够使用 kv 文件创建我的选项卡,但如果不可能,没问题.

Is there something I can use instead of TabbedPannelItem.text to put a BoxLayout or something inside. If possible I would like to be able to create my tabs using a kv file, but if it is not possible, no problem.

提前感谢大家的帮助.


解决方案

制作一个自定义 TabbedPanelItem,您将在其中添加带有 Rectangle

Make a custom TabbedPanelItem, where you'll add image background with Rectangle

<TPI@TabbedPanelItem>:
    canvas:
        Rectangle:
            source: <your_img>
            size: self.size
            pos: self.pos

并在您的 KivyMasterPanel

相关文章