Python 如何更改Kivy中TabbedPanelItem的背景色

Python 如何更改Kivy中TabbedPanelItem的背景色,python,kivy,Python,Kivy,我想更改选项卡上的背景色,并从默认的灰色更改,但我无法找到如何执行此操作 我曾尝试过定义画布,但最终只是在选项卡上创建了一个彩色层,然后我无法读取选项卡上的文本 my.py文件: from kivy.app import App from kivy.lang import Builder from kivy.uix.screenmanager import ScreenManager, Screen class IntroScreen(Screen): pass class Main

我想更改选项卡上的背景色,并从默认的灰色更改,但我无法找到如何执行此操作

我曾尝试过定义画布,但最终只是在选项卡上创建了一个彩色层,然后我无法读取选项卡上的文本

my.py文件:

from kivy.app import App
from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen

class IntroScreen(Screen):
    pass

class MainScreen(Screen):
    pass

class ScreenManagement(ScreenManager):
    pass

app=Builder.load_file("main.kv")

class mainApp(App):
    def build(self):
        return app

mainApp().run()
main.kv文件:

#: import FadeTransition kivy.uix.screenmanager.FadeTransition
#: import get_color_from_hex kivy.utils.get_color_from_hex

ScreenManagement:
    transition: FadeTransition()
    MainScreen:

<MainScreen>:
    name: "main_screen"

    BoxLayout:
        orientation: "horizontal"
        height: 30

        BoxLayout:
            orientation: "horizontal"

            TabbedPanel:
                do_default_tab: False
                tab_width: self.parent.width/2
                canvas.before:
                    Color:
                        rgb: get_color_from_hex("#ffffff")
                    Rectangle:
                        size: self.size
                        pos: self.pos

                TabbedPanelItem:
                    text: "Tab 1"
                    color: get_color_from_hex("#ffffff")
                    markup: True
                    Label:
                        text: "contents of tab 1"
                        color: get_color_from_hex("#000000")
                        canvas.before:
                            Color:
                                rgb: get_color_from_hex("#ffffff")
                            Rectangle:
                                size: self.size
                                pos: self.pos

                TabbedPanelItem:
                    text: "Tab 2"
                    markup: True
                    Label:
                        text: "contents of tab 2"
                        color: get_color_from_hex("#000000")
                        canvas.before:
                            Color:
                                rgb: get_color_from_hex("#ffffff")
                            Rectangle:
                                size: self.size
                                pos: self.pos
#:导入FadeTransition kivy.uix.screenmanager.FadeTransition
#:从\u hex kivy.utils.get\u color\u从\u hex导入
屏幕管理:
转换:FadeTransition()
主屏幕:
:
名称:“主屏幕”
盒子布局:
方向:“水平”
身高:30
盒子布局:
方向:“水平”
选项卡面板:
do_default_选项卡:False
选项卡宽度:self.parent.width/2
在以下情况之前:
颜色:
rgb:从十六进制(“ffffff”)获取颜色
矩形:
大小:self.size
pos:self.pos
选项卡式面板项目:
正文:“表1”
颜色:从十六进制(“ffffff”)获取颜色
标记:正确
标签:
正文:“表1的内容”
颜色:从十六进制(“000000”)获取颜色
在以下情况之前:
颜色:
rgb:从十六进制(“ffffff”)获取颜色
矩形:
大小:self.size
pos:self.pos
选项卡式面板项目:
正文:“表2”
标记:正确
标签:
正文:“表2的内容”
颜色:从十六进制(“000000”)获取颜色
在以下情况之前:
颜色:
rgb:从十六进制(“ffffff”)获取颜色
矩形:
大小:self.size
pos:self.pos

选项卡是一类TabbedPanelHeader,它们与按钮小部件一样具有以下属性

例子 将以下内容添加到kv文件中:

<TabbedPanelHeader>:
    background_normal: 'blue.png'
    background_down: 'red.png'
:
背景_正常:“blue.png”
背景:“red.png”
输出

您将如何根据是否按下选项卡来更改选项卡文本的颜色??