Как сделать так чтобы при нажатии на кнопку на экране появился прямоугольник?

Рейтинг: -1Ответов: 1Опубликовано: 10.03.2023

Всем привет! Недавно я начал делать своё приложение в python kivy Я написал следующий код:

from kivy.app import App
from kivy.uix.button import Button
from kivy.core.window import Window
from kivy.uix.widget import Widget
from kivy.graphics import (Color, Ellipse, Rectangle, Line)

class PainterWidget(Widget):
    def __init__(self, **kwargs):
        super(PainterWidget, self).__init__(**kwargs)
        with self.canvas:
            Rectangle(pos=(170, 200), size=(450, 170))

class WorldApp(App, Widget):
    def build(self):
        parent = Widget()
        parent.add_widget(Button(text='нажми на меня', on_press= self.parent_pressed, size=(200, 220), pos=(280, 200)))
        return parent

После чего написал функцию для кнопки:

def parent_pressed(self, instance):
    PainterWidget()
    if __name__ == '__main__':
    WorldApp().run()

Но при нажатии на кнопку у меня ничего не появлялось

Помогите пожалуйста! Буду очень благодарен)

Ответы

▲ 0

Создай любой layout и помести в него parent И PaiterWidget from kivy.uix.boxlayout import BoxLayout self.bx = BoxLayout() self.bx.add_widget(parent) self.bx.add_widget(PainterWidget()) return parent > return self.bx