我想在我的圆形按钮中创建一个“属性”,以便能够执行以下操作:
RoundedButton:
radius: 30
我的python代码:我在pyhton中有此类:
class RoundedButton(Button):
radius = NumericProperty(30)
在我的kv文件中:
<RoundedButton@Button>:
background_color: 0,0,0,0 # the last zero is the critical on, make invisible
canvas.before:
Color:
rgba: (.4,.4,.4,1) if self.state=='normal' else (0,.7,.7,1) # visual feedback of press
RoundedRectangle:
pos: self.pos
size: self.size
radius: [10,]
<MenuScreen>
GridLayout:
size: root.width, root.height
GridLayout:
RoundedButton:
size: 300, 300
我想写这样的东西:
<RoundedButton@Button>:
radius: radius
background_color: 0,0,0,0 # the last zero is the critical on, make invisible
canvas.before:
Color:
rgba: (.4,.4,.4,1) if self.state=='normal' else (0,.7,.7,1) # visual feedback of press
RoundedRectangle:
pos: self.pos
size: self.size
radius: [radius,]
<MenuScreen>
GridLayout:
size: root.width, root.height
GridLayout:
RoundedButton:
size: 300, 300
radius: 10
答案 0 :(得分:0)
RoundedButton:
radius: 30
您可以……拥有。这是做到这一点的方法。
但是,它附带了一些陷阱,以及与何时确切创建和访问属性有关的竞赛条件。您可能会也可能不会点击这些。通常,我认为在Python中定义类及其属性是一种更好的做法。
radius: radius
这一行没有意义,您未定义可变半径,请将其设置为某个实际值。