Hi,
ich konnte mit google leider nicht viel finden ebenso im Manual.
Und zwar wollte ich gerne mit der Funktion .draw_line(fill=???) aus tkinter verschiedene farbige Linien zeichnen. Nun würde mich natürlich brennend interessieren, welche Farben denn überhaupt zur Verfügung stehen.
Ich hoffe ihr könnt mir weiterhelfen oder einen kleinen Hinweis geben wonach ich suchen muss.
Mit freundlichem Gruß
Zack
ps: ich sehe gerade, dass gehört wahrscheinlich eher in die Kategorie "Tkinter". Wäre nett, wenn es jemand verschieben könnte. Das hab ich übersehen.
colors in tkinter(fill=???)
Super danke eydu,
nun bin ich leider direkt beim nächsten Problem.
Ich habe eine Anzahl von Linien die ich gerne in einer for-schleife abarbeiten würde.
In der for-Schleife generiere ich immer ein Array (zb: [1,1,2,2,4,4,8,8])
Dieses würde ich nun aber gerne mit verschiedenen Farben zusammen der tkinter.draw_line() funktion mitgeben.
zb (stark vereinfacht):
Leider schlugt er das fill einfach nicht. Auch nicht, wenn ich es vorher mit in das Array eingebunden habe alla: i.append("fill="+colors[c])
Ich hoffe ihr habt auch hierfür eine kleine Idee parat.
Mit freundlichem Gruß
Zack
nun bin ich leider direkt beim nächsten Problem.
Ich habe eine Anzahl von Linien die ich gerne in einer for-schleife abarbeiten würde.
In der for-Schleife generiere ich immer ein Array (zb: [1,1,2,2,4,4,8,8])
Dieses würde ich nun aber gerne mit verschiedenen Farben zusammen der tkinter.draw_line() funktion mitgeben.
zb (stark vereinfacht):
Code: Alles auswählen
import Tkinter as tk
win = tk.Tk()
win = tk.Canvas(win, width=200, height=200, bg='white')
win.pack()
colors = ['red','green','blue','yellow']
c = 0
for i in [[11,11,22,22],[33,33,44,44],[55,55,66,66]]:
#i.append("fill="+colors[c])
win.create_line(*i,fill=color[c]) #hier tritt leider immer ein Fehler auf. auch mit der auskommentierten Variante
c += 1
tk.mainloop()
Ich hoffe ihr habt auch hierfür eine kleine Idee parat.
Mit freundlichem Gruß
Zack
Zunächst solltest du über Zeile 2-4 nochmal nachdenken, auch wenn das nicht den Fehler produziert. Das ist sicher so nicht sinnvoll.
Damit es klappt, musst du in Zeile 11 den '*' weglassen.
Dann geht es aber immer noch nicht, weil die Variable color in Zeile 11 nicht definiert ist ...
Damit es klappt, musst du in Zeile 11 den '*' weglassen.
Dann geht es aber immer noch nicht, weil die Variable color in Zeile 11 nicht definiert ist ...
Das ``*``-Argument darf erst nach Schlüsselwortargumenten kommen:
Code: Alles auswählen
import Tkinter as tk
def main():
root = tk.Tk()
win = tk.Canvas(root, width=200, height=200, bg='white')
win.pack()
colors = ['red', 'green', 'blue', 'yellow']
line_coordinates = [[11, 11, 22, 22], [33, 33, 44, 44], [55, 55, 66, 66]]
for color, line_coords in zip(colors, line_coordinates):
win.create_line(fill=color, *line_coords)
tk.mainloop()
if __name__ == '__main__':
main()