Man kann mit event.x und event.y lesen wo sich der Mauscursor in einem Frame befindet. Kann man aber auch befehlen, dass der Mauscursor auf die X,Y koordinaten in einem Frame gehet und dies auch Zentriert?
Oder, z.b., die koordidaten der oberen linken Ecke in einem Frame sind (0,0). Gibt es ein Befehl mit dem Mann zu den koordidaten X,Y gehen kann so dass sie sich in der oberen linken Ecke befinden?
Es geht eigentlich darum, dass ich einen grossen Frame habe (width=7200, height=3600) auf dem ich mich bewegem moechte, aber nicht mit einem Scrollbar sondern mit einen Mausclick. Wenn man irgendwo clickt, soll der Frame auf dieser stelle Zentriert werden (wie z.b. beim maps.google.com).
Hier ist ein teil des Codes:
Code: Alles auswählen
from Tkinter import *
root = Tk()
root.maxsize(980,700)
root.minsize(980,700)
#right_frame
right_frame = Canvas(root, background="gray50", borderwidth=5, relief=RIDGE, width=150)
right_frame.pack(side=RIGHT, fill=Y, expand=YES)
right_frame.create_text(20, 15, text='R.A.:', fill='white')
right_frame.create_text(20, 30, text='DEC:', fill='white')
def callback(event):
print "mousecursor at", event.x, event.y
def callback2(event):
#########################################
#WENN MAN AUF DEM FRAME CLICKT, SOLLTEN DIE #
#(event.x, event.y) KOORDIDATEN DER CENTER VON DEM #
#FRAME SEIN... DER FRAME MUSS ZENTRIERT WERDEN #
#########################################
# left_frame
left_frame = Canvas(root, relief=RIDGE, width=7200, height=3600, background='black')
left_frame.bind("<Motion>", callback)
left_frame.bind("<Button-1>",callback2)
left_frame.create_text(700, 650, text='test', fill='white')
left_frame.pack(side=LEFT,fill=BOTH, expand=YES)
root.mainloop()
Mit freundlichen Gruessen,
Aleksandar