ich hab
canv= canvas.Rectangle
ind möchte das erzeugte Rechteck abspeichen, evt. pickeln.
Ich kann leider imer noch keine dateien hochladen.
Mit der pastebin, das muß doch auch klappen?
Grüße Fritz
Canvas abspeichern
@3ff: Die Frage ist ausserdem sehr schwammig und man muss raten. Hast Du vielleicht ein Rechteck auf einem `Tkinter.Canvas` mit der `create_rectangle()`-Methode erzeugt? Falls ja hätte Dein Quelltext etwas präziser sein können.
Solche GUI-Elemente kann man nicht picklen.
Solche GUI-Elemente kann man nicht picklen.
@numerix
war das nicht als Frage zu verstehen? oder erwartest Du 1 Fragezeichen?
leider klappt das mit der pastebin nicht...
Problem:
wir wollen 1 kleines,einfaches Malprogramm schreiben und erzeugen mit der Funktion canvas.rectangle ein (was wohl?) dann wollen wir dieses Grafikobjekt auch mal abspeichern.
mit pickle und unpickle kann ich/man nur listen abspeichern, oder?
Frage: Kann man mit pickle und unpickle auch Grafikobjekte abspeichern?
Guude
Fritz
war das nicht als Frage zu verstehen? oder erwartest Du 1 Fragezeichen?
leider klappt das mit der pastebin nicht...
Problem:
wir wollen 1 kleines,einfaches Malprogramm schreiben und erzeugen mit der Funktion canvas.rectangle ein (was wohl?) dann wollen wir dieses Grafikobjekt auch mal abspeichern.
mit pickle und unpickle kann ich/man nur listen abspeichern, oder?
Frage: Kann man mit pickle und unpickle auch Grafikobjekte abspeichern?
Guude
Fritz
- cofi
- Python-Forum Veteran
- Beiträge: 4432
- Registriert: Sonntag 30. März 2008, 04:16
- Wohnort: RGFybXN0YWR0
Das erzaehlst du in jedem 2. Post, aber genauer bist du noch nicht geworden.3ff hat geschrieben:leider klappt das mit der pastebin nicht...
http://paste.pocoo.org/
http://pastebin.com/
http://pastebin.ca/
http://hpaste.org/fastcgi/hpaste.fcgi/new
Wenn das bei allen nicht klappt, dann kann es nicht an den pastebins liegen ...
Michael Markert ❖ PEP 8 Übersetzung ❖ Tutorial Übersetzung (3.x) ⇒ Online-Version (Python 3.3) ❖ Deutscher Python-Insider ❖ Projekte
@3ff: Man kann mehr als nur Listen "pickle"n. Um ein Objekt "pickle"n zu können muss es selber ge"pickle"t werden können und darf nur verweise auf Objekte enthalten, die ge"pickle"t werden können. "Grafikobjekt" von `Tkinter` können nicht gepickelt werden. Das gilt in der Regel für alle Objekte die Ressourcen belegen, die ausserhalb vom Python-Interpretierer liegen.
Man könnte sich für die Zeichenoperationen Proxy-Objekte basteln, die sich "pickle"n lassen und die Methoden haben um sich auf ein gegebenes `Canvas` zu zeichnen.
Man könnte sich für die Zeichenoperationen Proxy-Objekte basteln, die sich "pickle"n lassen und die Methoden haben um sich auf ein gegebenes `Canvas` zu zeichnen.
Vielleicht willst Du das Gezeichnete aber auch nur einfach als Postscript-Datei abspeichern.
Siehe auch
http://www.python-forum.de/viewtopic.php?f=18&t=18756
yipyip
Siehe auch
http://www.python-forum.de/viewtopic.php?f=18&t=18756
yipyip
Es ist immer noch nicht eindeutig, was genau du erreichen willst.
Wozu soll das Abspeichern gut sein? Was soll mit dem "Abgespeicherten" passieren? Soll es ein Grafikformat sein, so dass es z.B. als Bild ausgedruckt und bearbeitet werden kann? Soll es so gespeichert werden, dass es von eurem Programm wieder eingelesen und so reproduziert werden kann? Beides ist möglich, aber die Wege sind verschieden.
Wozu soll das Abspeichern gut sein? Was soll mit dem "Abgespeicherten" passieren? Soll es ein Grafikformat sein, so dass es z.B. als Bild ausgedruckt und bearbeitet werden kann? Soll es so gespeichert werden, dass es von eurem Programm wieder eingelesen und so reproduziert werden kann? Beides ist möglich, aber die Wege sind verschieden.
@numerix and BlackJack
ich weiß, daß ihr mir helfen wollt, aber manchmal ist man einfach der Looser.
Ich hab grad 1 Editor mit Tkinter gebaut.
Zum Problem: wir wollen Flowcharts erstellen im grafic-mode mit Tkinter.
Die sollen
1. Abgespeichert
2. Ausgedruckt
3. Geändert
werden.
Guude Fritz
ich weiß, daß ihr mir helfen wollt, aber manchmal ist man einfach der Looser.
Ich hab grad 1 Editor mit Tkinter gebaut.
Zum Problem: wir wollen Flowcharts erstellen im grafic-mode mit Tkinter.
Die sollen
1. Abgespeichert
2. Ausgedruckt
3. Geändert
werden.
Guude Fritz
@3ff: Dann sollte man vielleicht die Einzelteile von Flow-Charts als Objekte modellieren, und diese Objekte dann "pickle"n. Wobei ich da auf längere Sicht vielleicht doch ein eigenes Format als JSON oder XML für entwerfen würde, dann sind die Daten nicht auf Python beschränkt.
Der schnellste und portabelste Weg ist vllt. folgender:
- Chartdaten/-objekte als xml vorhalten (Speicherung)
- xsl erstellen für xml->svg Transformation
- svg als Ausgabeformat (Darstellung, Drucken etc.)
Für das svg-Format bringen die großen GUI-Toolkits schon entsprechende Unterstützung mit, wie es um Tkinter bestellt ist, weiss ich nicht. Zusätzlich wären die svg-Dateien auch ohne Euer Programm einsehbar, wenn Ihr dessen Export zulassen wollt.
- Chartdaten/-objekte als xml vorhalten (Speicherung)
- xsl erstellen für xml->svg Transformation
- svg als Ausgabeformat (Darstellung, Drucken etc.)
Für das svg-Format bringen die großen GUI-Toolkits schon entsprechende Unterstützung mit, wie es um Tkinter bestellt ist, weiss ich nicht. Zusätzlich wären die svg-Dateien auch ohne Euer Programm einsehbar, wenn Ihr dessen Export zulassen wollt.
Stichwort: Reinventing the square wheel
Bei der groben Anforderungsliste liegt es doch nahe, zuerst vorhandene und standardisierte Methoden zu prüfen. Denkbar wäre auch der Einsatz von matplotlib und das Speichern der Daten in einem "pythonischerem" Format. Das hängt halt von den Anforderungen und der Datenbasis ab.
Aber auch der XML-Weg bietet noch genügend Spielraum für den Einsatz von Python (lxml lässt grüssen und nicht zuletzt die Aufbereitung und Interaktion mit der Darstellung)
Bei der groben Anforderungsliste liegt es doch nahe, zuerst vorhandene und standardisierte Methoden zu prüfen. Denkbar wäre auch der Einsatz von matplotlib und das Speichern der Daten in einem "pythonischerem" Format. Das hängt halt von den Anforderungen und der Datenbasis ab.
Aber auch der XML-Weg bietet noch genügend Spielraum für den Einsatz von Python (lxml lässt grüssen und nicht zuletzt die Aufbereitung und Interaktion mit der Darstellung)