Python scrollbar automatisch immer ganz unten

Gast #4505809
Lesenswert?

Hi,

wie kann ich in Python und tkinter das Textfeld so einstellen, dass er 
immer ganz unten in der letzten Zeile ist?

Ich habe im laufenden Programm immer wieder mal Ausgaben die ich im 
Textfeld anzeigen lassen möchte. Das mache ich so.
1
myText.insert(END, 'Text der ausgegeben wird')


Als Beispiel:
1
from tkinter import *
2
import tkinter as tk
3

4
fenster = tk.Tk()
5

6
myText = Text(fenster, height=20, width=50)
7
scroll = Scrollbar(fenster, command=myText.yview)
8
myText.configure(yscrollcommand=scroll.set)
9
myText.tag_configure('bold_italics', font=('Arial', 12, 'bold', 'italic'))
10
myText.tag_configure('big', font=('Verdana', 10, 'bold'))
11
myText.tag_configure('color', foreground='#8B0000', font=('Arial', 12, 'bold'))
12
myText.pack(side=LEFT)
13
scroll.pack(side=RIGHT, fill=Y)
14

15

16
myText.insert(END, 'Textzeile 1 \n\n', 'color')  
17
myText.insert(END, 'Textzeile 2 \n\n', 'color')  
18
myText.insert(END, 'Textzeile 3 \n\n', 'color')  
19
myText.insert(END, 'Textzeile 4 \n\n', 'color')  
20
myText.insert(END, 'Textzeile 5 \n\n', 'color')  
21
myText.insert(END, 'Textzeile 6 \n\n', 'color')  
22
myText.insert(END, 'Textzeile 7 \n\n', 'color')  
23
myText.insert(END, 'Textzeile 8 \n\n', 'color')  
24
myText.insert(END, 'Textzeile 9 \n\n', 'color')  
25
myText.insert(END, 'Textzeile 10 \n\n', 'color')  
26
myText.insert(END, 'Textzeile 11 \n\n', 'color')  
27
myText.insert(END, 'Textzeile 12 \n\n', 'color') 
28

29
    
30
    
31
    
32
  
33
fenster.mainloop()
Gast #4505831
Lesenswert?

Höre Stephan, ich kenn mich weder mit Python aus, noch weiss ich, unter 
welchem OS Du das nutzt, aber unter Windows habe ich das so gemacht:
1
@SendMessage(textfenster%,$00B1,-1,-1) 'Cursor auf Ende setzensetzen oder markieren
2
@SendMessage(textfenster%,$00C2,0,@ADDR(text$)) 'Text einfügen/ersetzen
3
@SendMessage(textfenster%,$00B6,0,1) 'Zeile Scrollen

Vielleicht hilft's ja...

Gruss Chregu

Edit: Tippfehler beseitigt
Gast #4507698
Lesenswert?

Clemens L. schrieb:
> "Immer" geht nicht.

Bringt ja auch irgendwie nichts. Was will ich mit einem Scrollbar, der 
immer an einer bestimmten Stelle festgenagelt ist? Quasi ein Scrollbar, 
der nicht scrollbar ist.
Eine gänge Implementation ist, dass der Scrollbar quasi unten kleben 
bleibt. Man kann immer frei scrollen, und die Position bleibt auch da 
stehen, wo man hingescrollt hat, außer, wenn der Scrollbar ganz unten 
ist. Dann wird beim Anhängen von Text automatisch weitegescrollt.
Ich kenne mich mit Tkinter nicht aus, aber vom Prinzip her würde ich vor 
dem Anhängen des Texts prüfen, ob der Scrollbar ganz am Ende steht. Wenn 
ja, dann wird er nach dem Einfügen auch wieder ganz ans Ende geschoben, 
sonst nicht.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren