Ich lade einen Text in eine TextArea. Per text.see(0) gehe ich auf die erste Zeile, aber die Scrollbar ist dann immernoch unten und wenn ich sie verschiebe, springt das Feld automatisch nach unten, was schlecht aussieht.
Aber scroller.set(0,0) bringt nix ?
Position der Scrollbar setzen
Hi. Das reicht an Angaben nicht... welches GUI-Toolkit (hier Tkinter, aber sonst trotzdem immer mit erwähnen), welche Version von Tk, Version von Python (gibt Inkompatibilitäten zwsichen einigen Versionen Python <--> Tk), Quellcode wo Scrollbar + Textarea gesetzt/konfiguriert werden...
Ohne das gehts nicht.
Milan
Ohne das gehts nicht.
Milan
OK
Python 2.3, Tcl&Tk 8.4.x
Wird durch ein klick auf eine Liste ausgelöst :
Python 2.3, Tcl&Tk 8.4.x
Wird durch ein klick auf eine Liste ausgelöst :
Code: Alles auswählen
def WLshowLyric (event) :
file = rootList.get(rootList.nearest(event.y))
lyric = open(rootHomeDir+'Resources/WulfieLyric/'+filenames[file],'U').read()
rootText.delete(1.0, END)
rootText.insert(INSERT, lyric)
rootText.see(0)
Möge die Python-Community gedeihen
Hi. pydoc meint zur Scrollbarmethode set das hier:
hth, Milan
Probiers also einfach mal nur mit einem scroller.set(0). Ansonsten müsste die Scrollbar wirklich automatisch hochspringen, wenn du rootText=Tkinter.Text(master,yscrollcommand=scroller.set) beim Initialsisieren der Textarea gemacht hast und danach ein scroller.config(command=rootText.yview) gemacht hast.set(self, *args)
Set the fractional values of the slider position (upper and
lower ends as value between 0 and 1).
hth, Milan
Hi. Ich bin nun endlich mal wieder vor nem PC mit Tkinter, sodass ich es ausprobieren konnte... Zuerstenmal bringt er mir immer einen Fehler, wenn rootText.see aufgerufen wird.:
Den hättest du eigentlich auch haben müssen und... dann wärs auch schneller gegangen das zu lösen (er macht es bei mir trotzdem). Dann ist mir eingefallen, dass ja Indexe per String angeben werden und zwar in diesem Fall als "1.0". Damit geht es bei mir Fehlerfrei.
Milan
Code: Alles auswählen
Exception in Tkinter callback
Traceback (most recent call last):
File "C:\Python23\lib\lib-tk\Tkinter.py", line 1345, in __call__
return self.func(*args)
File "C:/Temp/test.py", line 150, in do_reset
self.text.see(0)
File "C:\Python23\lib\lib-tk\Tkinter.py", line 2943, in see
self.tk.call(self._w, 'see', index)
TclError: bad text index "0"
Milan