【问题标题】:Is there a way to make a vertical line in Kivy that spans the entire Widget?有没有办法在 Kivy 中制作一条跨越整个 Widget 的垂直线?
【发布时间】:2021-09-06 11:56:58
【问题描述】:

我正在尝试制作一个类似网格的小部件,但我对如何获得跨越整个小部件的垂直线感到困惑。现在我拥有的 sn-p 如下所示:

SIZE = 2

class TestWidget(Widget):

    def __init__(self, **kwargs):
        super(TestWidget, self).__init__(**kwargs)

        with self.canvas:
            for i in range(SIZE):
                Line(points=[self.size[0]*(i/SIZE), 0, self.size[0]*(i/SIZE), self.size[1]], color=ListProperty((0,0,1,1)))

self.size[i] 的数量似乎只给出一个整数,然后由 api 将其解释为像素数而不是画布大小。这是有道理的,但现在我不确定现在该去哪里。

任何帮助将不胜感激!

【问题讨论】:

    标签: python user-interface kivy


    【解决方案1】:

    您可以使用 kivymd 的 MDSeparator 来执行此操作

        MDSeparator:
            orientation:'horizontal'
            height: "10dp"
    

    也可以设置成'vertical',也可以改变颜色

    一个简单的例子

    from kivymd.app import MDApp
    from kivy.lang import Builder
    
    kv="""
    #:import F kivy.factory.Factory
    
    BoxLayout:
        orientation:'vertical'    
        padding:20
        GridLayout:
            cols:2
            MDLabel:
                text:"hello"
            MDCheckbox:
            MDLabel:
                text:"hello"
            MDCheckbox:          
            MDLabel:
                text:"hello"
            MDCheckbox:
                                                        
        MDSeparator:
            orientation:'horizontal'
            height: "10dp"
    
                  
        GridLayout:
            cols:2
            MDLabel:
                text:"hello"
            MDCheckbox:
            MDLabel:
                text:"hello"
            MDCheckbox:          
            MDLabel:
                text:"hello"
            MDCheckbox:     
                                                                                
    """
    
    class Main(MDApp):           
                    
        def build(self):
            return Builder.load_string(kv)
    
    Main().run()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多