Fare konumu sürekli görüntülemek


#1

Merhabalar. Düzenli aralıklarla fare konumunu gösteren bir kod yazmak istiyorum python konusunda yeniyim. Bir kod yazdım ama sadece bir kez konumu gösteriyor .Kodu sürekli döngüye sokamıyorum.

from tkinter import *
import time

def konumbul():
    while True:
            time.sleep(0.5)
            fare_yatay_konum = pencere.winfo_pointerx()
            fare_dikey_konum = pencere.winfo_pointery()
            pencere.update_idletasks()
            return fare_yatay_konum,"X",fare_dikey_konum

pencere = Tk()
pencere.geometry("100x100+0+0")

farekonumu=konumbul()

       
fare_konumu = Label(pencere ,text = farekonumu)
fare_konumu.pack(pady=35)


mainloop()

#2

pyAutoGui kullanarak şöyle yazabilirsin

import pyautogui
while True:
    fare_konum=pyautogui.position()
    print(fare_konum)

(TkInter hakkında yeterli bilgim yok sadece fare konumunu istersen böyle de gösterebilirsin diye gösterdim)


#3
from tkinter import *
root= Tk()

def pozisyon(event):
    x, y = event.x, event.y
    print(x,y)

root.bind('<Motion>', pozisyon)
root.mainloop()

Bu işinizi görecektir.


#4

Bu kodla pencere içerisindeki konumu alabiliyorum. Bilgisayar ekranındaki bir konumu alabilir miyim ?


#5

Hepinize teşekkür ederim sonunda oldu.

from tkinter import *
import time

pencere = Tk()
pencere.geometry("100x50+0+0")
pencere.title("Nerde bu fare?")
def konumbul():
    while True:
            
            fare_yatay_konum = pencere.winfo_pointerx()
            fare_dikey_konum = pencere.winfo_pointery()
            pencere.update_idletasks()
            farekonumu= fare_yatay_konum,"X",fare_dikey_konum 
            time.sleep(0.1)
            fare_konumu['text']=farekonumu
            #sadece yazıyı değiştirdim yoksa her döngüde bellek kullanımı artıyordu.
            
            

fare_konumu =Label(text = '',
                   font=("Arial","16","bold"),
                   fg="red",
                   relief ="flat",
                   #flat yapmazsam bir önceki çözünürlüğün izi kalıyordu.
                    )
fare_konumu.pack(pady=15)
farekonumu=konumbul()  


mainloop()