【问题标题】:Is there a simple way to add a border to Kivy Buttons有没有一种简单的方法可以为 Kivy 按钮添加边框
【发布时间】:2019-02-18 00:42:03
【问题描述】:

我正在使用python-2.7kivy。有人可以告诉我如何为 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'

【问题讨论】:

    标签: python python-2.7 kivy


    【解决方案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'
        

        【讨论】:

          猜你喜欢
          • 2014-07-19
          • 1970-01-01
          • 2010-12-08
          • 2021-11-22
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-15
          相关资源
          最近更新 更多