python – 有没有一种简单的方法来添加边框到Kivy Labels,Buttons,Widgets等没有图像?

前端之家收集整理的这篇文章主要介绍了python – 有没有一种简单的方法来添加边框到Kivy Labels,Buttons,Widgets等没有图像?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试为Kivy Buttons添加边框,但它不能按预期工作.
对于标签我的实现似乎没问题,但对于按钮,它会覆盖/清除按钮的标准外观.

如何在不改变正常行为的情况下绘制按钮上方的边框?我想像ButtonBehavior一样实现它,所以我可以用画布为每个Kivy对象添加一个边框.我称之为BorderBehavior.

样式虚线,虚线仅适用于线宽1,因为Kivy中有一个错误(见https://github.com/kivy/kivy/issues/2037)(稍后需要弄清楚这里有什么问题.)

我知道使用BorderImage绘制边框是可能的,但我想在没有图像的情况下添加简单的边框.

以下是目前的情况:

您可以在此处找到我的源代码(可以拖动标签仅用于测试目的,以确保边框始终正确定位):

https://gist.github.com/AWolf81/c6796dc2049d9872b2df

最佳答案
好的,我找到了解决办法.这是一个命名冲突.

在控制台日志中,我看到在按钮的BorderImage中解压缩边框元组时出现问题.
当然,这不起作用,因为我的边界实现方式不同.也许我可以将列表(顶部,右侧,底部,左侧)添加到我的边框实现中,这样我就可以保持相同的名称.但我还没检查过.

在python和kv中将边框的命名更改为边框修复了问题:

class BorderBehavior(Widget):
    borders = ObjectProperty(None)

现在看起来我想要它:

好的,现在我将检查它是否也适用于其他类(例如Scatter,Widget,…).如果那是有效的我正在向Kivy做一个拉动请求.

猜你在找的Python相关文章