Вопрос по python, kivy – почему щелчок правой кнопкой мыши создает оранжевую точку в центре круга?

19

Почемупервый пример виджета в киве приведите к оранжевому кружку в середине желтого, когда вы щелкаете правой кнопкой мыши на холсте, и чисто желтому, когда вы щелкаете левой кнопкой мыши?

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

Ваш Ответ

2   ответа
14

Чтобы отключить эмуляцию мультитач, добавьте это в исходный файл, содержащий вашу основную функцию, прежде чем импортировать любые другие модули kivy:

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

Это эмуляция мультитач, вы можете увидеть, как отключить ее здесь

http://kivy.org/docs/api-kivy.input.providers.mouse.html

(1) Вы можете очистить их, щелкнув левой кнопкой мыши и заново установив новый имитированный мультитач. (2) Вы можете установить более одного. (3) Посмотрите на пример Kivy examples / demo / pictures для отличного примера, использующего эмуляцию мультитач.
Ответы, содержащие только ссылки, действительно не считаются хорошей практикой (как вы, вероятно, сейчас знаете). Пожалуйста, кратко изложите содержание в вашем ответе.

Похожие вопросы