Python 如何更改Kivy中TabbedPanelItem的背景色
我想更改选项卡上的背景色,并从默认的灰色更改,但我无法找到如何执行此操作 我曾尝试过定义画布,但最终只是在选项卡上创建了一个彩色层,然后我无法读取选项卡上的文本 my.py文件: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
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”
输出
您将如何根据是否按下选项卡来更改选项卡文本的颜色??