Положение The Kivy Label - PullRequest
       0

Положение The Kivy Label

0 голосов
/ 02 апреля 2020

В том же эксперименте я пытался позиционировать метку, используя этот код:

class TetraApp(App):

    def build(self):
        Window.size=(875,600)
        Window.clearcolor = (1, 1, 1, 1)
        b = BoxLayout(orientation ='vertical')

#Here, the pos and pos hint doesnt seem to work for small values

        self.lab=Label(text="How Can I Help\n          You?", font_size='35',color =[0, 0, 0, 1],font_name='VarelaRound-Regular',pos=[0.1,0.01],pos_hint={'x': 0.005, 'y': 0})

        self.t = TextInput(hint_text='Say Something...', size_hint=(1,0.25), multiline=False)
        self.t.bind(on_text_validate=self.enterClicked)
        b.add_widget(TitleBar())
        b.add_widget(self.lab)
        b.add_widget(self.t)
        Window.borderless=True
        return b

Вот что я получаю:
output

1 Ответ

1 голос
/ 02 апреля 2020

Проблема не в позиционировании (с этим справляется BoxLyout), а в size вашего Label. Вам необходимо предоставить height для Label. Примерно так:

self.lab=Label(text="How Can I Help\n          You?", font_size='35',color =[0, 0, 0, 1], font_name='VarelaRound-Regular', size_hint_y=None, height=100)

Ваш TitleBar имеет фиксированную высоту, TextInput настроен так, чтобы занимать четверть высоты BoxLayout, и, поскольку значение по умолчанию size_hint_y равно 1,0, ваш Label занимает оставшееся пространство. Придав Label фиксированную высоту, остальное пространство оставим TextInput. Вы можете использовать size_hint_y вместо фиксированной высоты, и это позволит Label и TextInput разделять пространство пропорционально их значениям size_hint_y.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...