kivy学习完全解析 012 画图板

<DrawCanvasWidget>:
    canvas.before:
        Color:
            rgba:[1, 1, 1, 1]
        Rectangle:
            pos: self.pos
            size: self.size

from kivy.app import App
from kivy.graphics import Line, Color
from kivy.uix.widget import Widget

class DrawCanvasWidget(Widget):#DrawCanvasWidget类监听鼠标事件
    def __init__(self, **kwargs):
        super().__init__(**kwargs)
        # 设置默认颜色
        self.canvas.add(Color(rgb=[0,0,0]))
        self.line_width = 2 #设置线宽

    def on_touch_down(self, touch):#kivy提供函数,鼠标点击
        """触摸显示轨迹"""
        if Widget.on_touch_down(self, touch):
            return
        with self.canvas:
            touch.ud['current_line'] = Line(points=(touch.x, touch.y), width=self.line_width)

    def on_touch_move(self, touch):#kivy提供函数
        """连线"""
        if 'current_line' in touch.ud:
            touch.ud['current_line'].points += (touch.x, touch.y)

class PaintApp(App):
    def build(self):
        self.draw_canvas_widget = DrawCanvasWidget()
        return self.draw_canvas_widget

if __name__ == '__main__':
    PaintApp().run()

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值