]> git.jsancho.org Git - kivyforms.git/blob - examples/designer.py
adeb2cbc3f8999212070283b735fd31331023232
[kivyforms.git] / examples / designer.py
1 from kivy.app import App
2 from kivy.lang import Builder
3 from kivy.uix.button import Button
4 from kivy.uix.label import Label
5 from kivyforms import FormCanvas
6
7 screen = Builder.load_string('''
8 BoxLayout:
9     orientation: 'horizontal'
10     FormCanvas:
11         id: form_canvas
12     BoxLayout:
13         size_hint: 0.2, 1
14         orientation: 'vertical'
15         Button:
16             text: 'Add button'
17             on_press: app.add_button()
18         Button:
19             text: 'Add label'
20             on_press: app.add_label()
21         Button:
22             text: 'Export to Kv'
23             on_press: app.export_to_kv()
24 ''')
25
26 class DesignerApp(App):
27     button_id = 0
28     label_id = 0
29
30     def on_start(self):
31         self.form_canvas = self.root.ids.form_canvas
32
33     def add_button(self):
34         self.button_id += 1
35         self.form_canvas.add_widget(Button(text='Button ' + str(self.button_id)))
36
37     def add_label(self):
38         self.label_id += 1
39         self.form_canvas.add_widget(Label(text='Label ' + str(self.label_id)))
40
41     def export_to_kv(self):
42         print(self.form_canvas.export_to_kv())
43
44     def build(self):
45         return screen
46
47 if __name__ == '__main__':
48     app = DesignerApp()
49     app.run()