Kivy Screen Manager Цвет фона - PullRequest
       8

Kivy Screen Manager Цвет фона

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

Я новичок в Kivy, и я только учусь создавать простой с парой экранов. Я увидел видео курса Kivy Cra sh и получил следующий код:

Файл Python выглядит следующим образом (main.py):

from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.tabbedpanel import TabbedPanel
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.graphics.context_instructions import Color
from kivy.uix.label import Label
from kivy.lang.builder import Builder


class sivaLoginScreen(Screen):
    def __init__(self,**kwargs):
        super(sivaLoginScreen,self).__init__(**kwargs)
        with self.canvas.before:
            Color(253,253,152,1)

class sivaTabbedScreen(Screen):
    pass


class sivaScreenManager(ScreenManager):
    pass

# Tell Kivy to directly load a file. If this file defines a root widget, it will be returned by the method.
root_widget = Builder.load_file('siva.kv')

class sivaApp(App):
    def build(self):
        # Initialize root widget
                return root_widget


if __name__ == '__main__':
    # Run application
    sivaApp().run()

Файл kv выглядит примерно так (siva.kv):

sivaScreenManager:
    sivaLoginScreen:


<sivaLoginScreen>:
    name: 'login_screen'
    canvas.before:
        Color:
            rgba: 253, 253, 152, 1
        FloatLayout:
            Label:
                id: login_label
                pos: 100, 100
                text: 'S.I.V.A'
                font_size: '20sp'

Когда я запускаю приложение с python3 main.py, я получаю черный пустой экран. Я ожидал цветной экран с этикеткой на нем. Можете ли вы помочь мне понять, где я иду не так?

1 Ответ

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

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

<sivaLoginScreen>:
    name: 'login_screen'
    canvas.before:
        Color:
            rgba: 253, 253, 152, 1
        Rectangle:
             pos:self.pos 
             size:self.size

...