я пришел из веб-разработчика, и я новичок в 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](https://i.stack.imgur.com/sH19v.png)
скажем, окончательный результат содержат это:
![enter image description here](https://i.stack.imgur.com/QXKni.png)