Kivy покрывает весь экран

#python #user-interface #kivy #kivy-language

#python #пользовательский интерфейс #kivy #kivy-язык

Вопрос:

Это мой код kivy:

 Manager:
StartMenu:
SetupMenu:

<StartMenu>
    name: "start"
    size: root.width, root.height
    GridLayout:
        Image:
            source: "Logo.png"
            keep_ratio: True
            size_hint: 1,1
        AnchorLayout:
            anchor_x: "center"
            anchor_y: "bottom"
            Button:
                background_normal: ''
                background_color: 242, 242, 242, .50
                width: root.width/5
                text: "Begin"    
                size_hint: None, None
                on_release: 
                    app.root.current: "setUp"
                    root.manager.transition.direction: "left"


</StartMenu>

<SetupMenu>
    name: "setUp"
    Button:
        text: "Go Back"
        on_release: 
            app.root.current: "startMenu"
            root.manager.transition.direction: "left"
 

Это мой код на Python:

 import kivy
from kivy.uix.button import Button
from kivy.uix.image import Image
from kivy.app import App
from kivy.uix.gridlayout import GridLayout
from kivy.uix.relativelayout import RelativeLayout
=from kivy.lang import Builder
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.core.window import Window

class StartMenu(Screen):
    pass

class SetupMenu(Screen):
    pass

class Manager(ScreenManager):
    pass

class StartMenu(Screen):
    pass

kv = Builder.load_file("lordofthe90.kv")

class lordOfThe90(App):
    def build(self):
        return kv

lordOfThe90.run()
 

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

Комментарии:

1. вы могли бы, по крайней мере, поместить рабочий код со всем импортом. А затем мы можем скопировать и запустить код, чтобы увидеть проблему. Что касается меня, экран всегда должен закрывать все окно целиком.

2. Мне пришлось удалить большинство виджетов, чтобы запустить его, и чтобы отобразить его правильно, я должен был определить rows: 1 в GridLayout:

Ответ №1:

Я должен был определить хотя бы rows: 1 in GridLayout: , чтобы отобразить его правильно.