Как в Kivy добавить текст на экран?

Как добавить заголовок на первый экран в вашем приложении на основе Kivy? В коде создан класс MainApp, который содержит дополнительную функцию для добавления заголовка, но возникли проблемы с отображением других кнопок на экране. Как можно исправить эту ситуацию и обеспечить корректное отображение всех элементов на экране?
  • 7 августа 2024 г. 10:23
Ответы на вопрос 2
Для добавления текста на экран в Kivy можно использовать виджет Label. Пример:

```python
from kivy.app import App
from kivy.uix.label import Label

class MainApp(App):
    def build(self):
        label = Label(text='Hello, World!')
        return label

if __name__ == '__main__':
    MainApp().run()
```

Чтобы добавить заголовок на первый экран в вашем приложении, вы можете использовать этот код как основу и добавить другие элементы на экран при помощи Layout (например, BoxLayout, FloatLayout, GridLayout и т. д.). Пример:

```python
from kivy.app import App
from kivy.uix.label import Label
from kivy.uix.button import Button
from kivy.uix.boxlayout import BoxLayout

class MainApp(App):
    def build(self):
        layout = BoxLayout(orientation='vertical')
        
        label = Label(text='Hello, World!', size_hint=(1, 0.2))
        layout.add_widget(label)
        
        button = Button(text='Click me!', size_hint=(1, 0.8))
        layout.add_widget(button)
        
        return layout

if __name__ == '__main__':
    MainApp().run()
```

В этом примере, мы создаем вертикальный BoxLayout, добавляем на него Label и Button с помощью метода add_widget(). При этом, мы указываем size_hint для каждого виджета, чтобы задать им пропорциональные размеры на экране.

Таким образом, вы можете исправить проблему с отображением других элементов на экране, добавляя их на Layout в нужном порядке и указывая им корректные size_hint.
<b>Ф-ция создана, но её вызова я не вижу.</b> <br/> class MainScreen(Screen): <br/> def __init__(self): <br/> super().__init__() <br/> self.name = 'Main'  # setting the screen name value for the screen manager <br/> # (it's more convenient to call by name rather than by class) <br/> main_layout = FloatLayout()  # creating an empty layout that's not bound to the screen <br/> self.add_widget(main_layout)  # adding main_layout on screen <br/> <br/> <b> title = Label(text='ABOBA',<br/>
                          bold=True,<br/>
                          pos_hint={'center_x': .5, 'center_y': .9})<br/>
        # Button to get to the 2nd screen</b> <br/> three_players = Button(text='3 игрока', <br/> bold=True,........ <br/> <b>Я уё сюда впихнул.</b>
Похожие вопросы