Kann Workaround zu bekanntem Tkinter Fehler nicht umsetzen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Ich habe es mal nicht unter Tkinter gestellt, weil ich gerade nicht denke, dass es so spezifisch ist.
Wenn ich da falsch liege halt einfach verschieben.

Ich möchte gerne ein Tkinter Textfeld auf Änderungen im Text überprüfen. Ziel ist es den Knopf zum abspeichern farblich zu verändern.

Herausgefunden habe ich schon ,dass dazu

Code: Alles auswählen

mein_textwidget.edit_modified()
verwendet werden kann:
--> http://epydoc.sourceforge.net/stdlib/Tk ... t_modified

Jetzt bekomme ich aber eine Fehlermeldung (so wie viele andere vor mir auch ):

Code: Alles auswählen

Traceback (most recent call last):
  File "wombat_text_editor.py", line 37, in on_txt_changes
    if self.text.edit_modified():
  File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 2861, in edit_modified
    return self.edit("modified", arg)
  File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 2849, in edit
    return self._getints(
  File "/usr/lib/python2.4/lib-tk/Tkinter.py", line 975, in _getints
    return tuple(map(getint, self.tk.splitlist(string)))
TypeError: coercing to Unicode: need string or buffer, bool found
Dazu gibt es ein Workaround, das ich aber irgendwie nicht schaffe anzuwenden:
--> http://pybugs.efod.se/issue961805

Ich habe versucht dieses Workaround für mich an zu passen:

Code: Alles auswählen

34	            print self.tk.call('eval','%s edit modified'%self.text)
Das Problem ist: da kommt immer True bei raus :-(


Der Quelltext ist unter:
--> http://trac.webshox.org/browser/wombat/ ... _editor.py
einzusehen.

Hinweis:
Im Moment können nur *.txt Dateien aus dem gleichen Ordner geöffnet werden.

Cu Sebastian
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Habe es im Moment so gelöst, dass ich einfach in regelmäßigen Abständen hashes des Textes vergleiche. Nicht wirklich performant aber funzt eben.

Sonst habe ich noch bei activestate das hier gefunden:
http://aspn.activestate.com/ASPN/Cookbo ... ipe/464635

Naja, wenn ich mal ne ruhige Stunde habe, werde ich mal versuchen das Problem wie im obigen Post beschrieben zu lösen.
Antworten