加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 有没有一种简单的方法来添加边框到Kivy Labels,Butto

发布时间:2020-12-16 23:54:57 所属栏目:Python 来源:网络整理
导读:我正在尝试为Kivy Buttons添加边框,但它不能按预期工作. 对于标签我的实现似乎没问题,但对于按钮,它会覆盖/清除按钮的标准外观. 如何在不改变正常行为的情况下绘制按钮上方的边框?我想像ButtonBehavior一样实现它,所以我可以用画布为每个Kivy对象添加一个边

我正在尝试为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做一个拉动请求.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读