为什么右键单击会在圆圈中心创建一个橙色点?

2022-01-15 00:00:00 python kivy

问题描述

为什么kivy中的第一个小部件示例会导致中间出现橙色圆圈右击画布时是黄色的,左击时是纯黄色的?

Why does the first widget example in kivy lead to an orange circle in the middle of the yellow one when you right click on the canvas and a pure yellow one when you left click?

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

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))


class MyPaintApp(App):
    def build(self):
        return MyPaintWidget()


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


解决方案

要禁用多点触控仿真,请在导入任何其他 kivy 模块之前将其添加到包含 main 函数的源文件中:

To disable multi-touch emulation, add this to your source file containing your main function, before any other kivy modules are imported:

from kivy.config import Config
Config.set('input', 'mouse', 'mouse,multitouch_on_demand')

相关文章