Как в 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.
Ф-ция создана, но её вызова я не вижу. 
class MainScreen(Screen):
def __init__(self):
super().__init__()
self.name = 'Main' # setting the screen name value for the screen manager
# (it's more convenient to call by name rather than by class)
main_layout = FloatLayout() # creating an empty layout that's not bound to the screen
self.add_widget(main_layout) # adding main_layout on screen

title = Label(text='ABOBA',
bold=True,
pos_hint={'center_x': .5, 'center_y': .9})
# Button to get to the 2nd screen

three_players = Button(text='3 игрока',
bold=True,........
Я уё сюда впихнул.
Похожие вопросы