有没有一种简单的方法可以为 Kivy 按钮添加边框
Posted
技术标签:
【中文标题】有没有一种简单的方法可以为 Kivy 按钮添加边框【英文标题】:Is there a simple way to add a border to Kivy Buttons 【发布时间】:2019-02-18 00:42:03 【问题描述】:我正在使用python-2.7
和kivy
。有人可以告诉我如何为 kivy 按钮添加不同颜色的边框。
test.py
from kivy.uix.screenmanager import Screen
from kivy.app import App
from kivy.core.window import Window
Window.clearcolor = (0.5, 0.5, 0.5, 1)
Window.size = (300, 100)
class User(Screen):
pass
class Test(App):
def build(self):
return self.root
if __name__ == '__main__':
Test().run()
test.py
User:
BoxLayout:
Button:
background_normal: ''
text: 'Ok'
【问题讨论】:
【参考方案1】:我想你的意思是 additionnaly 到当前背景/边框。
如果是这样,您可能想使用一些画布指令。
您可能希望将它们添加到 canvas.before
中,以便将其绘制在 按钮文本之前。
您将使用的指令取决于您想要的效果,但 Line 可能是一个好的开始。
Button:
text: 'test'
canvas.before:
Color:
rgba: .5, .5, .5, 1
Line:
width: 2
rectangle: self.x, self.y, self.width, self.height
【讨论】:
【参考方案2】:您可能想查看 Button 类的边框属性,基本上: 在基夫:
Button:
border: (10,10,10,10)
我相信这会是BorderImage
使用的边框图片
免责声明:未经测试,但遵循这些原则
【讨论】:
【参考方案3】:你可以使用 kivymd 在 .py 文件中
from kivymd.app import MDApp
Window.clearcolor = (0.5, 0.5, 0.5, 1)
Window.size = (300, 100)
class User(Screen):
pass
class Test(MDApp):
def build(self):
return self.root
if __name__ == '__main__':
Test().run()
和.kv
MDRectangleFlatButton:
background_normal: ''
text: 'Ok'
【讨论】:
以上是关于有没有一种简单的方法可以为 Kivy 按钮添加边框的主要内容,如果未能解决你的问题,请参考以下文章
有没有一种简单的方法可以在 Android 视图的顶部和底部添加边框?
在 kivy2 或 kivymd 中,有没有一种方法可以动态创建屏幕而不将它们添加到 kv 文件中