Найти - Пользователи
Полная версия: Проблема при выводе на экран координат курсора
Начало » Python для новичков » Проблема при выводе на экран координат курсора
1
Konstantin1984+
Программа должна определять координаты курсора при нажатии на экран правой кнопкой мыши, предполагается многограктный вывод информации на экран. Если нажатий несколько, то почему-то результаты чередуются (от первых значений к последним), хотя сначала должны были отображаться первоначальные результаты, потом последующие, без возврата к началу.
Вот код:
 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()
py.user.next
  
#!/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()
Так работает.
Konstantin1984+
Но при этом результат выводится однократно, а мне нужно, чтобы многократно. Предполагается, что на экран должна постоянно выводиться информация о последних координатах курсора, то есть после первого нажатия на экран несколько раз появляется информация о первых координатах, после второго нажатия - уже о вторых, первые не выводятся.
py.user.next
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()
Konstantin1984+
Спасибо! Заработало.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB