我有一个树莓派。我在KV中使用屏幕管理器。有4个屏幕。第一个屏幕上有3个按钮,其他屏幕上有一个颜色选择器,按下颜色选择器时需要从其中获取值。
我要使用中的值。 Kv文件,并在py文件中使用它来进一步处理色轮。对我而言唯一重要的瓦尔是colorpicker.value
答案 0 :(得分:0)
我在kv中使用屏幕管理器。有4个屏幕。第一屏有 3个按钮和其他屏幕上都有一个颜色选择器。
是的,在Python代码/脚本中,您可以访问kv文件中定义的 ColorPicker 小部件的选定颜色。有关详细信息,请参阅小/骨骼示例和输出。
在示例中,感兴趣的值为ColorPicker().color
,self.color
或instance.color
。
color
颜色保留当前以rgba格式选择的颜色。
color是ListProperty,默认值为(1、1、1、1、1)。
<MainScreen>:
ColorPicker:
on_color:
root.on_color(self, self.color)
class MainScreen(Screen):
def on_color(self, instance, value):
print("\non_color:")
print("\tvalue(rgba)={}".format(value))
print("\tcolor(rgba)={}".format(instance.color))
print("\tcolor(hex)={}".format(instance.hex_color))
print("\tcolor(hsv)={}".format(instance.hsv))
from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
class ScreenManagement(ScreenManager):
pass
class MainScreen(Screen):
def on_color(self, instance, value):
print("\non_color:")
print("\tvalue(rgba)={}".format(value))
print("\tcolor(rgba)={}".format(instance.color))
print("\tcolor(hex)={}".format(instance.hex_color))
print("\tcolor(hsv)={}".format(instance.hsv))
class TestApp(App):
title = "Kivy ColorPicker Demo"
def build(self):
return ScreenManagement()
if __name__ == "__main__":
TestApp().run()
#:kivy 1.11.0
<ScreenManagement>:
MainScreen:
name: 'main'
<MainScreen>:
ColorPicker:
on_color:
root.on_color(self, self.color)