首页 > 解决方案 > 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很陌生。

标签: pythonuser-interfacekivykivy-language

解决方案


我必须至少定义rows: 1inGridLayout:才能正确显示它。


推荐阅读