Kivy получить или получить код из макета в определенный момент - PullRequest
0 голосов
/ 20 февраля 2020

я пришел из веб-разработчика, и я новичок в kivy и python

, поэтому у меня есть платформа, которая может добавлять виджеты (кнопки и изображения) и изменять их размеры и размещать их в определенном макете. ,

и мне интересно, как получить новый код That Layout (с добавлением виджетов).

В Интернете мы можем использовать JS function $ ("# content"). external HTML, чтобы получить новый код в выбранном ID: Content

, чтобы сделать его простым, ее мой код:

у меня есть 2 кнопки:

кнопка тестирования : которую можно переместить в другое место.

создать изображение : создание новых изображений, которые также можно перемещать.

from kivy.app import App
from kivy.uix.scatter import Scatter
from kivy.uix.button import Button
from kivy.uix.image import Image
from kivy.uix.floatlayout import FloatLayout
from kivy.uix.scatterlayout import ScatterLayout
from kivy.graphics.transformation import Matrix


class MyScatterLayout(ScatterLayout):
    pass
class MyButton(Button):
    def on_touch_down(self, touch):
        return False


class MyFloatLayout(FloatLayout):
    pass



class ScatterApp(App):
    def build(self):
        f = MyFloatLayout()

        def createVideo(instance):
            s5 = MyScatterLayout(do_rotation=False, size=(150, 100), size_hint=(None, None), pos=(400, 450))
            vid = Video(source='carrefour tech V2.mp4', state='play')
            s5.add_widget(vid)
            f.add_widget(s5)

        def createImage(instance):
            s5 = MyScatterLayout(do_rotation=False, size=(150, 100), size_hint=(None, None), pos=(300, 300))
            img = Image(source='mahrez.jpg')
            s5.add_widget(img)
            f.add_widget(s5)

        s = MyScatterLayout(do_rotation=False, size=(150, 100), size_hint=(None, None), pos=(10, 10))
        s.add_widget(MyButton(id='mybutton', text='Test Button'))
        f.add_widget(s)


        

        s1 = MyScatterLayout(do_rotation=False, size=(150, 100), size_hint=(None, None), pos=(10, 230))
        btn1 = Button(text='create Image')
        btn1.bind(on_press=createImage)
        s1.add_widget(btn1)
        f.add_widget(s1)

        return f


ScatterApp().run()

, поэтому первоначальный макет содержит кнопку juste 2:

enter image description here

скажем, окончательный результат содержат это:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...