Уведомления

Группа в Telegram: @pythonsu

#1 Июнь 2, 2012 22:58:30

assquake
Зарегистрирован: 2012-06-02
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

canvas tkinter

Ребята! очень срочно! нужна помощь!
есть канва, на ней рисуются N овалов рандомно
как сделать, чтобы при нажатии на овал, он, к примеру, исчезал
ну или вообще, насколько я понял, нельзя забиндить отдельные фигуры на виджете, есть ли у канвы метод возврата координат нажатой мышки?
спасибо

Офлайн

#2 Июнь 3, 2012 00:23:53

sp3
От:
Зарегистрирован: 2010-01-12
Сообщения: 405
Репутация: +  18  -
Профиль   Отправить e-mail  

canvas tkinter

from Tkinter import *
 
def canvaButton3(e): 
    idObject = canva.create_oval( (e.x,e.y,e.x+50,e.y+30),
                fill= 'red'   )
    print 'create:',idObject
 
 
def canvaButton1(e): 
    e.widget.itemconfigure(CURRENT, fill ="green")
 
 
def canvaButton2(e): 
    curent_object = e.widget.find_withtag(CURRENT)
    print 'delete:',curent_object
    canva.delete(curent_object) 
 
 
 
 
root = Tk()
canva = Canvas(root) 
canva.bind("<Button-3>", canvaButton3)
canva.bind("<Button-2>", canvaButton2)
canva.bind("<Button-1>", canvaButton1)
canva.pack(fill=BOTH,expand= 1)
root.mainloop()
+ можно на каждую фигуру можно повесить tag (или даже несколько), забинденный на любые события.
Читайте документацию.



Отредактировано sp3 (Июнь 3, 2012 00:24:44)

Офлайн

#3 Июнь 3, 2012 00:43:09

assquake
Зарегистрирован: 2012-06-02
Сообщения: 2
Репутация: +  0  -
Профиль   Отправить e-mail  

canvas tkinter

дошло
спасибо большое!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version