我正在使用以下功能来实现带有kivy的进度条。
kv = '''
FloatLayout:
Starfield:
id: sf
progress: pb
ProgressBar:
id: pb
pos_hint: {'right':1.0, 'top':1.0}
size_hint: (0.25, 0.1)
'''
我想更改进度条的颜色和背景
答案 0 :(得分:0)
您可以使用ProgressBar
中的动态类来定义自己的kv
版本:
<-MyProgressBar@ProgressBar>:
canvas:
Color:
rgb: 1, 1, 1
BorderImage:
border: (12, 12, 12, 12)
pos: self.x, self.center_y - 12
size: self.width, 24
source: 'pb_bg.png'
BorderImage:
border: [int(min(self.width * (self.value / float(self.max)) if self.max else 0, 12))] * 4
pos: self.x, self.center_y - 12
size: self.width * (self.value / float(self.max)) if self.max else 0, 24
source: 'pb_fg.png'
这只是ProgressBar
中的style.kv
条目,而BorderImages
的来源不同。然后,您可以稍后在MyProgressBar
中使用ProgressBar
代替kv
。
这是pb_fg.png
图片:
这是pb_bg.png
图片:
这些图像只是ProgressBar
使用的默认图像的副本,其中某些颜色已更改。