RE: [Python-es] Cambiar posición del mouse

Raydel Miranda Gomez rmiranda en estudiantes.uci.cu
Mar Feb 19 15:57:49 CET 2008



Todos los objetos dibujables (gtk.DrawArea ... etc ) tienen asiciado un control gtk.gdk.Window, el cual tiene el metodo: gtk.gdk.Window.set_cursor(gtk.gdk.Cursor)


el objeto gtk.gdk.Cursor se contruye pasandole una x, una y y una mascara para el pixmap. Recibe otros argumentas que son background(bg) ,foreground(fg) y una imagen(source), pero creo que no son necesarios para lo que quieres hacer.

La misma ventana(gtk.gdk.Window) tiene un metodo que es: gtk.gdk.Window.get_pointer, que devuelve una tupla de tres elementos conteniendo (x,y,mask) donde (x y) son las  cooprdenadas actuales y mask, la mascara que ya hemos mensionado y lo que realmente nos hace falta.

teniendo esto puedes:

draw = gtk.DrawArea()
x_, y_, mask_ = draw.window.get_pointer()

x_ += 34 # por ejemplo
y_ += 60 # tembien por ejemplo

new_cursor = gtk.gdk.Cursor(x=x_, y=y_, mask=mask_)

draw.window.set_cursor(new_cursor)


Mira a ver si te funciona, sino, seguimos investigando a ver como resolvemos eso, que esta interesante. Este es un ejemplo que escribi con lo que me acordaba, pero no lo he probado.


----------------------------------------
Raydel Miranda Gómez
Universidad de las Ciencias Informáticas
Facultad de Software Libre
Desarrollador de NoVa LNX

Despues de terminado el juego , el peon y el rey, regresan a la misma caja.
(proverbio italiano)



-----Original Message-----
From: python-es-bounces en aditel.org on behalf of Flaper87
Sent: Tue 19.02.2008 4:31
To: La lista de python en castellano
Subject: [Python-es] Cambiar posición del mouse
 
Saludos a todos,


Queria saber si es posible cambiar la posicion del cursor del mouse
pasandole las coordenadas de X y Y?

Estoy realizando una aplicacion en la cual debo lograr mover el cursor del
mouse.

S.O: Linux Debian Sid
Python: 2.4 =<

Saludos y Gracias

-- 
Flavio Percoco Premoli, A.K.A. [Flaper87]
http://www.flaper87.org
Usuario Linux registrado #436538
Geek by nature, Linux by choice, Debian of course.
Key Fingerprint: CFC0 C67D FF73 463B 7E55  CF43 25D1 E75B E2DB 15C7
The Solution to everything:
python -c "from struct import pack; print  pack('5b', (41*len('99')),
pow(8,2)+20, 4900**0.5, range(78)[-1], 10)"
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes

------------ próxima parte ------------
_______________________________________________
Lista de correo Python-es 
http://listas.aditel.org/listinfo/python-es
FAQ: http://listas.aditel.org/faqpyes


Más información sobre la lista de distribución Python-es