Kivy AnchorLayout .Kv файл - PullRequest
       77

Kivy AnchorLayout .Kv файл

0 голосов
/ 13 октября 2018

Я новичок в Киви.Я хочу, чтобы мой ярлык был слева, но он всегда остается в центре, что я делаю неправильно?

.py `

from kivy.app import App
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.uix.gridlayout import GridLayout

from kivy.uix.boxlayout import BoxLayout
from kivy.uix.anchorlayout import AnchorLayout
from kivy.uix.label import Label


class Display(BoxLayout):
    pass

class Screen_One(Screen):
    pass

class Screen_Two(Screen):
    pass

class Screen_Three(Screen):
    pass

class DemoApp(App):
    icon = 'icon.png'
    title = 'control panel'
    def build(self):
        return Display()

if __name__ == '__main__':
    DemoApp().run()

Вот небольшой фрагмент кодафайл .kv.

<Screen_Two>:
    name: 'screen_two'
#    BoxLayout:
    AnchorLayout:
        anchor_x: 'left'
        anchor_y: 'top'
        Label:
            text: 'test box position'

Спасибо за любой полезный ответ.

1 Ответ

0 голосов
/ 13 октября 2018

Проблема в том, что размер дочернего виджета по умолчанию - заполнение его родителя, поэтому ваши anchor_x и anchor_y не имеют никакого эффекта.Чтобы это исправить, просто установите размер вашего Label на что-то разумное:

<Screen_Two>:
    name: 'screen_two'
    AnchorLayout:
        anchor_x: 'left'
        anchor_y: 'top'
        Label:
            text: 'test box position'
            size_hint: (None, None)
            size: self.texture_size
...