在所有的图形库中,控件,都是UI系统的基本的概念,它代表着屏幕中的一块绘图的区域。当然,在不同的图形库里,有着不同的叫法,在MS的Windows操作系统,每个控件就叫到Window,而在像wxWidget,Kivy这样的开源图形系统里,就叫它Widget。当然,控件一般都会绑定一定的触发事件,如键盘,鼠标,以使进行不同的的图形操作。
下面通过一幅UML图来看下Kivy的UI系统是一个什么样子。
这里,以Button为例,显示了整个类的关系图。
从Widget类可以看出:
每个Widget都有x,y,width,height这四个Property类型的位置信息,这样,通过bind到这些Property,值的大小将会得到通知。
每个Widget都有一个唯一的Canvas对象,以便在Widget上进行图形操作。
每个Widget都绑定到了一定的事件,如on_touch_down,on_touch_move,on_touch_up等等。这些事件在之前的文章中都有分析过。
OK,这篇文章就讲到这里,没有什么深度,主要是理清一下自己的思路,毕竟要想完全了解一个系统有待时日,而即时的作下总结是有益和必要的。