Wie automatisch scrollen innerhalb einer Tkinter-message-Fenster
Schrieb ich die folgende Klasse für die Herstellung von "monitoring" - Ausgabe in einem extra Fenster.
- Leider ist es nicht automatisch scrollen nach unten zur letzten Zeile. Was ist falsch?
- Wie ich haben auch Probleme mit Tkinter und ipython: wie würde eine äquivalente Umsetzung mit qt4 Aussehen?
Hier ist der code:
import Tkinter
class Monitor(object):
@classmethod
def write(cls, s):
try:
cls.text.insert(Tkinter.END, str(s) + "\n")
cls.text.update()
except Tkinter.TclError, e:
print str(s)
mw = Tkinter.Tk()
mw.title("Message Window by my Software")
text = Tkinter.Text(mw, width = 80, height = 10)
text.pack()
Verwendung:
Monitor.write("Hello World!")
Du musst angemeldet sein, um einen Kommentar abzugeben.
Fügen Sie eine Anweisung
cls.text.see(Tkinter.END)
rechts, nach der eine Berufung einlegen.Diejenigen die vielleicht versuchen wollen, verbindlich:
Nur vorsichtig sein. Wie @BryanOakley darauf hingewiesen, dass der Modifizierte virtuelle Ereignis wird nur einmal aufgerufen, bis es zurückgesetzt wird. Betrachten Sie unter:
<<Modified>>
wird nur ausgelöst, sobald das erste mal das Fenster übergänge von nicht-modifiziert, verändert? Sie bekommen nicht den Fall wieder, bis Sie klar, dass die fahne mit.edit_modified(True)
..edit_modified(False)