2012-10-02 17 views
15

¿Por qué the first widget example en kivy lleva a un círculo naranja en el medio del amarillo cuando hace clic derecho en el lienzo y un amarillo puro cuando dejó clic?¿por qué hacer clic derecho crea un punto naranja en el centro del círculo?

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

Respuesta

13

Se emulación multitouch, se puede ver cómo desactivar aquí

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

+3

(1) Puede borrarlos haciendo clic izquierdo y restableciendo un nuevo multitoque simulado. (2) Puede establecer más de uno. (3) Observe la muestra de ejemplo/demostración/imágenes de Kivy para obtener un excelente ejemplo utilizando la emulación multitáctil. – Mark

+0

Las respuestas de solo enlace realmente no se consideran buenas prácticas (como probablemente ya sepa). Por favor resuma los contenidos en su respuesta. – CodeMouse92

4

Para desactivar la emulación multitouch, añadir esto a su archivo de origen que contiene su función principal, antes que cualquier otra Kivy los módulos se importan:

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