本教程咪博士将带领大家学习创建自己的窗口部件 (widget)。最终,我们完成的作品是一个简易的画板程序。
当用 kivy 创建应用时,我们需要仔细思考以下 3 个问题:
- 我们创建的应用需要处理什么数据?
- 如何可视化地展示这些数据?
- 用户如何与这些数据交互?
以本教程的简易画板为例,我们希望用户可以用手指在触摸屏上画画,这便是用户与数据交互的方式。为了实现这样的交互,我们需要记录下用户手指的位置,这便是应用需要处理的数据。而在不同位置点之间绘制线条就是数据展示的方式。
Kivy 应用中,用户界面 (UI) 是由许多窗口部件 (Widget) 构成的。你在屏幕上看到的任何东西,归根结底都是由某个窗口部件绘制出来的。每个窗口部件都封装了数据、交互方式,以及视觉呈现这三大要素(即,对应前面的那 3 个问题)。综合运用各种窗口部件,我们便可以开发各式应用。尽管,Kivy 已经内置了许多部件,例如按钮 (Button)、滑块 (Slider) 等,但是许多时候,我们还是需要开发自定义窗口部件,以满足特定的用户需求。本教程,咪博士就教大家如何开发自定义窗口部件。
总之,在开发自定义窗口部件时,请牢记 kivy 窗口部件的三要素(数据、交互、呈现)。同时,还要合理规划窗口部件的功能,要将很大的部件拆分成较小的、可重用的部件,即遵守单一职责原则(Single Responsibility Principle)。
【原文链接】
http://www.ipaomi.com/2017/11/05/kivy-中文教程-实例入门-简易画板-simple-paint-app:0-项目简介-成/