kivy gridlayout中的按钮位置

Posted

技术标签:

【中文标题】kivy gridlayout中的按钮位置【英文标题】:Button position in kivy gridlayout 【发布时间】:2017-02-01 14:53:44 【问题描述】:

我正在尝试将此按钮移动到右上角,但无论我做什么,我都无法移动它。它总是在左下角,永远不会离开这个位置。

这是我的 .py:

    #!/usr/bin/python
    # coding=UTF-8

    import kivy
    from kivy.uix.gridlayout import GridLayout
    from kivy.app import App
    from kivy.uix.button import Button
    from kivy.lang import Builder

    Builder.load_file('listadex.kv')

    class TestS(GridLayout):
        def bt1(self):
            print 'Olar galera'        #layout.add_widget(bt1.Button(text='TestS'))

    class SegundaTela(App):
        def build(self):
    #layout = GridLayout(cols=2, row_force_default=False, row_default_height=10)
    #layout.add_widget(bt1.Button(text='TestS'))
    #layout.add_widget(bt2.Button(text='TestA'))
    #layout.add_widget(bt3.Button(text='TestD'))
    #layout.add_widget(bt4.Button(text='TestMC'))
    #return layout
    CF = TestS()
    return CF

    SegundaTela().run()

这是我的.kv

    <TestS>:
        GridLayout:
            rows: 1
            cols: 1
            padding: 3
            spacing: 3

            Button:
                text: 'botao1'
                on_press: root.bt1()
                pos_hint: 'center_x':.15

【问题讨论】:

你想把按钮放在哪里? 它将位于屏幕的顶部 【参考方案1】:

我建议使用相对布局。例如

RelativeLayout:

    Button:
        text: 'botao1'
        on_press: root.bt1()
        pos_hint: 'center_x': 0.5, 'center_y': 0.5

更改 center_xcenter_y 直到它们满足您的需求。

【讨论】:

它不起作用,这个按钮覆盖了所有屏幕,我想添加更多 3 个按钮...顶部 2 个,机器人上 2 个 使用size_hint: None, None,然后使用size: 400, 400或您想要的任何尺寸定义尺寸 这个可以了,非常感谢,终于成功了=D

以上是关于kivy gridlayout中的按钮位置的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Kivy Python 中为 GridLayout 的某些按钮设置高度?

Kivy - 通过引用根属性动态添加按钮

如何在 Python 中使用 kivy 在 TabeedPanel 中使用 GridLayout

MDRectangleFlatButton(s) 不采用它们在 GridLayout 或 MDGridLayout 中应该具有的大小。 Kivy 的按钮工作正常

标签上gridlayout内的kivy滚动视图

如何在其他屏幕kivy中显示情节