我正在尝试为Kivy Buttons添加边框,但它不能按预期工作.
对于标签我的实现似乎没问题,但对于按钮,它会覆盖/清除按钮的标准外观.
如何在不改变正常行为的情况下绘制按钮上方的边框?我想像ButtonBehavior一样实现它,所以我可以用画布为每个Kivy对象添加一个边框.我称之为BorderBehavior.
样式虚线,虚线仅适用于线宽1,因为Kivy中有一个错误(见https://github.com/kivy/kivy/issues/2037)(稍后需要弄清楚这里有什么问题.)
我知道使用BorderImage绘制边框是可能的,但我想在没有图像的情况下添加简单的边框.
以下是目前的情况:
最佳答案
好的,我找到了解决办法.这是一个命名冲突.
在控制台日志中,我看到在按钮的BorderImage中解压缩边框元组时出现问题.
当然,这不起作用,因为我的边界实现方式不同.也许我可以将列表(顶部,右侧,底部,左侧)添加到我的边框实现中,这样我就可以保持相同的名称.但我还没检查过.
在python和kv中将边框的命名更改为边框修复了问题:
class BorderBehavior(Widget):
borders = ObjectProperty(None)
现在看起来我想要它:
好的,现在我将检查它是否也适用于其他类(例如Scatter,Widget,…).如果那是有效的我正在向Kivy做一个拉动请求.