如何使用Python在画布上手工绘制?

如何使用Python在画布上手工绘制?,python,canvas,Python,Canvas,我希望能够使用Python在画布上绘制,并逐点记录笔划。这意味着用户在画布上单击,移动鼠标,提起鼠标按钮,再次单击 因此,我希望像在问题中一样使用Python 如何使用Python实现这一点 我不是在寻找一种操纵数字/放置SVG/…的方法。你可以使用Kivy库,Kivy网站上的一个创业教程正在制作一个 这应该适用于基于Windows和Unix的系统,包括OSX,以及由()打包后的Android。您也可以为iOS制作一个软件包,但它要稍微多一些我想您正在寻找一个在web浏览器中不会出现的解决方案?

我希望能够使用Python在画布上绘制,并逐点记录笔划。这意味着用户在画布上单击,移动鼠标,提起鼠标按钮,再次单击

因此,我希望像在问题中一样使用Python

如何使用Python实现这一点


我不是在寻找一种操纵数字/放置SVG/…

的方法。你可以使用Kivy库,Kivy网站上的一个创业教程正在制作一个


这应该适用于基于Windows和Unix的系统,包括OSX,以及由()打包后的Android。您也可以为iOS制作一个软件包,但它要稍微多一些

我想您正在寻找一个在web浏览器中不会出现的解决方案?我建议您看看PyQt或PySide,它们是Qt本机工具包的Python绑定。@Mikkoohtama我从未使用过Python和web。因此,它可能发生在Web浏览器中。在Web浏览器中,您只能运行JavaScript。有一些理论解决方案可以将Python交叉编译成JavaScript,但这些都是学术练习。因此,您应该为Python选择一个本机应用程序工具包,JavaScript可以进行录制,并通过POST将其发送到只侦听的Python web服务器。这最终将是最好的解决方案。嗯,你不需要实时吗?但最终,只需学习JavaScript基础知识并使用浏览器
元素就能简单得多。以几个数量级的顺序。您甚至可以找到适合您的目的的库和框架,只需要很少的修改。我可以将
argparse
与Kivy一起使用吗?当我像习惯一样使用它时,Kivy似乎“覆盖”了argparse参数解析。我不知道如何使用,但google引导我找到了一个Kivy程序,它使用了它:
from kivy.app import App
from kivy.uix.widget import Widget
from kivy.graphics import Color, Ellipse, Line


class MyPaintWidget(Widget):

    def on_touch_down(self, touch):
        with self.canvas:
            Color(1, 1, 0)
            d = 30.
            Ellipse(pos=(touch.x - d / 2, touch.y - d / 2), size=(d, d))
            touch.ud['line'] = Line(points=(touch.x, touch.y))

    def on_touch_move(self, touch):
        touch.ud['line'].points += [touch.x, touch.y]


class MyPaintApp(App):

    def build(self):
        return MyPaintWidget()


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