Python Kiy как по нажатию кнопки открывать разметку другого класса
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.uix.boxlayout import BoxLayout
from kivy.uix.image import Image
class D(BoxLayout):
pass
class Container(BoxLayout):
pass
class MyApp(App):
def build(self):
return Container()
if __name__ == '__main__':
MyApp().run()
KV файл
<Container>:
rows:2
orientation:"vertical"
BoxLayout:
size_hint:1,0.2
Label:
text:"CHANGE"
size_hint:1,1
font_size:60
color:[1,1,1,1]
canvas:
Color:
rgba: .5,.35,.87,.5
Rectangle:
pos: self.pos
size: self.size
BoxLayout:
Button:
background_color:1,1,19,1
text:"DOG"
on_release:
Image:
source: 'image.png'
size: self.texture_size
Button:
background_color:1,1,19,1
text:'CAT'
<D>:
Boxlayout:
Button:
text:"P"
Как по нажатию на кнопку в классе Container открывать разметку класса D?
Ответы (1 шт):
Автор решения: Karlson21
→ Ссылка
.py файл
class D(Popup):
pass
.kv файл
#:import Factory kivy.factory.Factory
<Container>:
....
....
BoxLayout:
Button:
background_color:1,1,19,1
text:"DOG"
on_release:Factory.D().open()
<D>:
BoxLayout:
Button:
text:"P"
Если я правильно понял, что вам нужно, то попробуйте использовать Popup, тогда можно при нажатии кнопки открыть всплывающее окно, в котором будет BoxLayout.