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