- Kivy Cookbook
- Hugo Solis
- 238字
- 2021-07-16 20:39:55
Reusing styles in multiple widgets
This recipe will teach you how to take advantage of reusing styles for different widgets, a procedure that could be useful for the scalability of a system.
Getting ready
We will use this example of a file, e8.kv
, where two widgets are defined:
<MyWidget1>: Button: on_press: self.text(txt_inpt.text) TextInput: id: txt_inpt <MyWidget2>: Button: on_press: self.text(txt_inpt.text) TextInput: id: txt_inpt
We must note that they are very similar, and actually just the name of the widget is different between them.
How to do it…
The following steps provide a way to join the two widgets:
- Let's conserve just one of the widgets.
- The name of the discarded widget will be added to name of the conserved widget, by separating with a comma:
<MyWidget1,MyWidget2>: Button: on_press: self.text(txt_inpt.text) TextInput: id: txt_inpt
How it works…
In this case, by separating the class names with a comma, all the classes listed in the declaration will have the same KV properties and you could join any number of similar widgets.
There's more…
In the Python code, the widgets could do different tasks, as in the next portion of code:
class MyWidget1(Widget): def text(self, val): print('text input text is: {txt}'.format(txt=val)) class MyWidget2(Widget): writing = StringProperty('') def text(self, val): self.writing = val
Similarly, you can join the widgets in the Kv language.
See also
If you want to get more details about widgets, see the recipes in Chapter 4, Widgets.
- 摩登創客:與智能手機和平板電腦共舞
- JavaScript Unlocked
- 零基礎學Python網絡爬蟲案例實戰全流程詳解(高級進階篇)
- Mastering Linux Network Administration
- jQuery Mobile移動應用開發實戰(第3版)
- Visual Basic程序設計實驗指導(第二版)
- 西門子S7-200 SMART PLC編程從入門到實踐
- 深入淺出Go語言編程
- Flowable流程引擎實戰
- 編寫高質量代碼:改善Objective-C程序的61個建議
- 代碼閱讀
- Oracle實用教程
- 零基礎學HTML+CSS
- Learning WordPress REST API
- Java程序設計入門(第2版)