Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 1, 2025 19:44:42

Konstantin1984+
Зарегистрирован: 2020-02-04
Сообщения: 86
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема при выводе на экран координат курсора

Программа должна определять координаты курсора при нажатии на экран правой кнопкой мыши, предполагается многограктный вывод информации на экран. Если нажатий несколько, то почему-то результаты чередуются (от первых значений к последним), хотя сначала должны были отображаться первоначальные результаты, потом последующие, без возврата к началу.
Вот код:

 from tkinter import*
root=Tk()
root.title ('Проверка')
c = Canvas(width=2250, height=2250,bg='green')
c.pack()
def sdvig(event):
    x = root.winfo_pointerx()
    y = root.winfo_pointery()
    c=event.widget
    coord_x=c.canvasx(event.x)
    coord_y=c.canvasy(event.y)
    def opred():
        print(coord_x,coord_y)
        c.after(10,opred)        
    c.after(10,opred)
c.bind('<Button-3>',sdvig)
root.mainloop()

Офлайн

#2 Июнь 2, 2025 23:09:08

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Проблема при выводе на экран координат курсора

  
#!/usr/bin/env python3
 
from tkinter import *
 
root=Tk()
root.title ('Проверка')
 
c = Canvas(width=2250, height=2250,bg='green')
c.pack()
 
def sdvig(event):
    x = root.winfo_pointerx()
    y = root.winfo_pointery()
    c=event.widget
    coord_x=c.canvasx(event.x)
    coord_y=c.canvasy(event.y)
    def opred():
        print(coord_x,coord_y)
        #c.after(10,opred)        
    c.after(10,opred)
 
c.bind('<Button-3>',sdvig)
root.mainloop()
Так работает.



Офлайн

#3 Июнь 3, 2025 20:27:15

Konstantin1984+
Зарегистрирован: 2020-02-04
Сообщения: 86
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема при выводе на экран координат курсора

Но при этом результат выводится однократно, а мне нужно, чтобы многократно. Предполагается, что на экран должна постоянно выводиться информация о последних координатах курсора, то есть после первого нажатия на экран несколько раз появляется информация о первых координатах, после второго нажатия - уже о вторых, первые не выводятся.

Офлайн

#4 Июнь 4, 2025 15:43:49

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 9992
Репутация: +  857  -
Профиль   Отправить e-mail  

Проблема при выводе на экран координат курсора

Konstantin1984+
Предполагается, что на экран должна постоянно выводиться информация о последних координатах курсора, то есть после первого нажатия на экран несколько раз появляется информация о первых координатах, после второго нажатия - уже о вторых, первые не выводятся.
  
#!/usr/bin/env python3
 
from tkinter import *
 
root=Tk()
root.title ('Проверка')
 
c = Canvas(width=2250, height=2250,bg='green')
c.pack()
 
coord_x = None
coord_y = None
 
def sdvig(event):
    global coord_x
    global coord_y
    x = root.winfo_pointerx()
    y = root.winfo_pointery()
    c=event.widget
    coord_x=c.canvasx(event.x)
    coord_y=c.canvasy(event.y)
    def opred():
        print(coord_x,coord_y)
        c.after(10,opred)        
    c.after(10,opred)
 
c.bind('<Button-3>',sdvig)
root.mainloop()



Отредактировано py.user.next (Июнь 4, 2025 15:44:28)

Офлайн

#5 Июнь 4, 2025 20:48:15

Konstantin1984+
Зарегистрирован: 2020-02-04
Сообщения: 86
Репутация: +  0  -
Профиль   Отправить e-mail  

Проблема при выводе на экран координат курсора

Спасибо! Заработало.

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version