Python 如何在MDCard KivyMD中制作圆边
我正在kivy中使用kivyMD开发一个应用程序,但我想插入一个MD卡,问题是我希望MD卡的外观如下所示: 但看起来是这样的: 我知道它可以是边界半径,但我不知道怎么做, 这是我的密码: PY: 千伏:Python 如何在MDCard KivyMD中制作圆边,python,kivy,Python,Kivy,我正在kivy中使用kivyMD开发一个应用程序,但我想插入一个MD卡,问题是我希望MD卡的外观如下所示: 但看起来是这样的: 我知道它可以是边界半径,但我不知道怎么做, 这是我的密码: PY: 千伏: 我也遇到了同样的问题,MDCards有一个border_radius属性,但它不起作用。但我用这个代码解决了这个问题: <MyCard>: orientation: 'vertical' size_hint: 0.1, 1 canvas.before:
我也遇到了同样的问题,MDCards有一个border_radius属性,但它不起作用。但我用这个代码解决了这个问题:
<MyCard>:
orientation: 'vertical'
size_hint: 0.1, 1
canvas.before:
Color:
rgba: app.theme_cls.primary_color
RoundedRectangle:
radius: [10]
size: self.size
pos: self.pos
FloatLayout:
size: self.size
pos: self.pos
pos_hint: {"x": -0.1, "y": -0.6}
因此,它创建了一个包含画布的MyCardFloatLayout类,该类继承了FloatLayout、RippleBehaviour和ElevationBehavior。然后您可以添加到其中的FloatLayout以管理其内容。但是如果因为位置的原因看起来很奇怪,试着玩pos_hint-s 我也遇到了同样的问题,MDCards有一个border_radius属性,但它不起作用。但我用这个代码解决了这个问题:
<MyCard>:
orientation: 'vertical'
size_hint: 0.1, 1
canvas.before:
Color:
rgba: app.theme_cls.primary_color
RoundedRectangle:
radius: [10]
size: self.size
pos: self.pos
FloatLayout:
size: self.size
pos: self.pos
pos_hint: {"x": -0.1, "y": -0.6}
因此,它创建了一个包含画布的MyCardFloatLayout类,该类继承了FloatLayout、RippleBehaviour和ElevationBehavior。然后您可以添加到其中的FloatLayout以管理其内容。但是如果因为位置的原因看起来很奇怪,试着玩pos_hint-s 人们建议使用canvas,这没问题,但它增加了编码,使编码变得非常复杂。只需转到Kivymd>uix>card.py行631,将默认值从3dp更改为例如20dp或任何您想要的值。然后返回您的代码并键入radius:[],然后将您想要的号码从20插入到0。
完成 人们建议使用canvas,这没问题,但它增加了编码,使编码变得非常复杂。只需转到Kivymd>uix>card.py行631,将默认值从3dp更改为例如20dp或任何您想要的值。然后返回您的代码并键入radius:[],然后将您想要的号码从20插入到0。
完成 您不需要修改card.py文件,也不需要使用canvas,只需将以下内容放入kivy代码中即可
border_radius: 20
radius: [15]
在border\u radius中,您设置了可以使用的边界限制,在radius中,您设置了MD卡的边界级别。您不需要修改card.py文件,也不需要使用canvas,您只需在kivy代码中添加以下内容即可
border_radius: 20
radius: [15]
在border\u radius中,您设置了可以使用的边界限制,在radius中,您设置了MD卡的边界级别。如@yaxter的回答所示,我可以确认在kivy 1.9中,border\u radius属性确实有效,如@yaxter的回答所示,我可以确认在kivy 1.9中,border\u radius属性确实有效工作
border_radius: 20
radius: [15]