Saltar al contenido

Posición del ratón Python Tkinter

Nuestro grupo de especialistas luego de ciertos días de investigación y recopilación de de datos, hemos dado con los datos necesarios, deseamos que te resulte útil para tu proyecto.

Solución:

En cualquier momento puede utilizar el método winfo_pointerx y winfo_pointery para obtener las coordenadas x,y relativas a la ventana raíz. Para convertir eso en coordenadas de pantalla absolutas, puede obtener el winfo_pointerx o winfo_pointeryy de eso restar el respectivo winfo_rootx o winfo_rooty

Por ejemplo:

root = tk.Tk()
...
x = root.winfo_pointerx()
y = root.winfo_pointery()
abs_coord_x = root.winfo_pointerx() - root.winfo_rootx()
abs_coord_y = root.winfo_pointery() - root.winfo_rooty()

Puede configurar una devolución de llamada para reaccionar a eventos:

import Tkinter as tk
root = tk.Tk()

def motion(event):
    x, y = event.x, event.y
    print(', '.format(x, y))

root.bind('', motion)
root.mainloop()

No estoy seguro de qué tipo de variable quieres. Arriba, configuro variables locales x y y a las coordenadas del ratón.

Si tu haces motion un método de clase, entonces podría establecer una instancia attributes self.x y self.y a las coordenadas del mouse, que luego podrían ser accesibles desde otros métodos de clase.

Personalmente, prefiero usar pyautogui, incluso en combinación con Tkinter. No se limita a la aplicación Tkinter, sino que funciona en toda la pantalla, incluso en la configuración de pantalla dual.

    import pyautogui
    x, y = pyautogui.position()

En caso de que desee guardar varias posiciones, agregue un evento al hacer clic.
Sé que la pregunta original es sobre Tkinter.

valoraciones y comentarios

Recuerda algo, que tienes permiso de parafrasear si te fue de ayuda.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *