В Kivy я пытаюсь покрыть первую страницу другой после того, как натяну вторую страницу на первую страницу. На данный момент происходит наложение слов из списка, потому что страницы кажутся прозрачными и вторая страница не закрывает первую. Я пытался изменить цвет фона виджета, но безрезультатно, даже пытался добавить фоновое изображение на каком-то этапе. Пожалуйста, помогите, это заняло достаточно моего времени. Я был бы признателен за решение на чистом питоне вместо языка kv, если это возможно. Пример:
from kivy.app import App
from kivy.lang import Builder
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.pagelayout import PageLayout
from kivy.uix.button import Button
from kivy.uix.label import Label
from kivy.uix.screenmanager import ScreenManager, Screen
from kivy.core.window import Window
from kivy.graphics import Color, Rectangle
# Window.clearcolor = (252, 235, 233, 0)
class MyScreenManager(ScreenManager):
pass
class PageLayoutScreen(Screen):
pass
class PageLayout1(PageLayout):
def __init__(self, **kwargs):
super(PageLayout1, self).__init__(**kwargs)
myList = ['hello there', 'hello to you too']
t = 0
for i in myList:
nameWdgt = Label(text="[b]" + myList[t] + "[/b]", markup=True, font_size='15sp')
locationWdgt = Label(text="[b]" + myList[t] + "[/b]", markup=True, font_size='15sp')
self.add_widget(nameWdgt)
self.add_widget(locationWdgt)
# below is my attempt to cover the first item in the list "hello there" when we pull the second item in the list over it "hello to you too"
with self.canvas.before:
Color(0, 1, 0, 1) # green; colors range from 0-1 instead of 0-255
self.profile_layout = Rectangle(size=self.size, pos=self.pos)
t += 1
root_widget = Builder.load_string('''
#:import NoTransition kivy.uix.screenmanager.NoTransition
#:import sys sys
MyScreenManager:
transition: NoTransition()
PageLayoutScreen:
<PageLayoutScreen>:
name: 'test'
PageLayout1
''')
class ScreenManagerApp(App):
def build(self):
return root_widget
ScreenManagerApp().run()