Heim > Artikel > Web-Frontend > Tkinter Tutorial Canvas Kapitel (3)
'''Tkinter Tutorial Canvas Kapitel (3)'''
''16. Element verschieben'''
# - * - Codierung: cp936 -*-
# move gibt x, y am Offset an
from Tkinter import *
root = Tk( )
# Erstellen Sie eine Leinwand und stellen Sie deren Hintergrundfarbe auf Weiß ein.
cv = Canvas(root,bg = 'white')
# Erstellen Sie zwei identische Rechtecke. Vergleichen Sie den Unterschied vor und nach dem Umzug
rt1 = cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3')) cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3'))
# Move rt1
cv.move(rt1,20,-10) cv.pack() root.mainloop()
# move can Geben Sie den relativen Versatz von x und y an, der negativ sein kann. -
# delete Das angegebene Element löschen
# Zwei Rechtecke erstellen
from Tkinter import * root = Tk() cv = Canvas(root,bg = 'white')
# ID verwenden, um rt1 zu löschen
cv.delete(rt1)
rt1 = cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3')) r2 = cv.create_rectangle( 20,20,110,110, tags = ('s1','s2','s3'))
# Tag verwenden, um r2 zu löschen
# Zwei Methoden zum Löschen von Elementen (ID/Tag)
cv.delete('s1') cv.pack() root.mainloop()
# -*- Codierung: cp936 -*-
# Maßstabsskalierungselement, Berechnungsformel: (Koordinaten - Offset)*Maßstab + Offset
# Erstelle zwei Rechtecke
from Tkinter import * root = Tk() cv = Canvas(root,bg = 'white')
# Vergrößere die Y-Koordinate auf die ursprünglichen 2 Ziffern und den X-Koordinatenwert Unverändert
rt1 = cv.create_rectangle( 10,10,110,110, tags = ('r1','r2','r3'))
# Die Parameter der Skala sind (self,xoffset,yoffset,xscale,yscale)
cv.scale(rt1,0,0,1,2) cv.pack() root.mainloop()
# -*- programming: cp936 -*-
# Verwenden Sie tag_bind, um Element und Ereignis zu binden
# Erstelle eine Leinwand und setze ihre Hintergrundfarbe auf Weiß
from Tkinter import * root = Tk()
# Erstelle drei Rechtecke
cv = Canvas(root,bg = 'white')
# Element und Ereignis binden
rt1 = cv.create_rectangle( 10,10,110,110, width = 8, tags = ('r1','r2','r3')) def printRect(event): print 'rectangle'
# Nur Das Ereignis wird nur ausgelöst, wenn das Rand des Rechtecks wird angeklickt
cv.tag_bind('r1','<Button-1>',printRect) cv.pack() root.mainloop()
# -*- Kodierung: cp936 -*-
# Verwenden Sie tag_bind, um Elemente und Ereignisse zu binden, was nicht mit den Testergebnissen in der Referenz übereinstimmt.
# Erstellen Sie eine Leinwand und stellen Sie deren Hintergrundfarbe auf Weiß ein
from Tkinter import * root = Tk()
# Drei Rechtecke erstellen
cv = Canvas(root,bg = 'white')
# Element binden und Ereignis mit der linken Maustaste anklicken
rt1 = cv.create_rectangle( 10,10,110,110, width = 8, tags = ('r1','r2','r3')) def printRect(event): print 'rectangle' def printLine(event): print 'line'
# Element binden und Rechtsklick-Ereignis
cv.tag_bind('r1','<Button-1>',printRect)
# Das Ereignis wird nur ausgelöst, wenn der Rand des Rechtecks ist angeklickt, nicht Mit dem Parameter „Hinzufügen“ wird standardmäßig eine Verarbeitungsfunktion zu diesem Element hinzugefügt. Dies ersetzt nicht die ursprüngliche Ereignisfunktion: Reagieren Sie sowohl auf die linke als auch auf die rechte Taste. ' 21. Neu binden Das Element und die vorhandenen Tags''
# -*- programming: cp936 -*-
cv.tag_bind('r1','<Button-3>',printLine) cv.pack() root.mainloop()
# Verwenden Sie tag_bind, um das Element zu binden und Ereignis, Testergebnisse Widersprüchlich mit der Aussage in der Referenz
# Erstellen Sie eine Leinwand und stellen Sie deren Hintergrundfarbe auf Weiß ein
cv = Canvas (root,bg = 'white')
from Tkinter import * root = Tk()
# Binden Element nach links Schlüsselereignis
cv.tag_bind('r1','15ce60bce8d7fb5203c17f3141fee655',printRect)
rt1 = cv.create_rectangle( 10,10,110,110, width = 8, tags = ('r1','r2','r3')) def printRect(event): print 'rectangle' def printLine(event): print 'line'
cv.tag_bind('r1','5511d829731dc3fdf5788f4a948f4312',printLine)
# Erstelle eine Zeile und setze ihre Tags auf 'r1'
# Nachdem Sie das Ereignis an das Tag ('r1') gebunden haben, erstellen Sie ein neues Element und geben Sie das Tag des gebundenen Ereignisses an. Das neu erstellte Element ist das gleiche Es ist auch an Ereignisse gebunden, was nicht mit der Aussage in der Referenz übereinstimmt
Das Obige ist der Inhalt des Canvas-Kapitels (3) des Tkinter-Tutorials Bitte achten Sie auf die chinesische PHP-Website (www.php.cn)!
cv.create_line(10,200,100,200,width = 5,tags = 'r1') cv.pack() root.mainloop()