2016-08-21 1 views
1

Ich lief ein Problem, seit ziehen Optionen ["arrowshape"] von der tkinter Leinwand ergab eine Zeichenfolge "xyz", während die Einstellung der Pfeilform in create_line wird ein Tupel [x, y, z] und kein String ... ist das richtig in Python 2.7.10+Benötigt tkinter arrowshape ein Tupel, wird aber als Text gespeichert?

+2

und was ist dein Problem? (PS: '[x, y, z]' ist eine Liste, kein Tupel) –

+0

Das Problem besteht darin, dass beim Abrufen der Pfeilformatierungsdaten aus der Zeichenfläche diese Zeichenfolge als Zeichenfolge angezeigt wird. – Gerfried

Antwort

1

Dies ist, wie Sie einen Pfeil erstellen:

from tkinter import * 

root = Tk() 

can = Canvas(root, bg='white') 
ar = can.create_line(5, 5, 100, 70, arrow='last', arrowshape='20 40 10') 
can.pack() 

root.mainloop() 

Sie benötigen einen String (oder eine Liste oder ein Tupel) passieren darstellt die Form der Pfeilspitze. Die erste ist die Länge, die letzte ist die Breite und die mittlere bezieht sich auf die Menge an Bogen, die die Pfeilbasis hat. Sie können damit spielen, um den Geschmack zu bekommen.

Sie können auch die Pfeilform bezeichnen durch

arrowshape=[20, 40, 10] 

oder

arrowshape=(20, 40, 10) 
+0

vielen Dank, ich denke, '20 40 10 'ist auch das interne Speicherformat für Tkinter – Gerfried

Verwandte Themen