So fügen Sie eine Bildlaufleiste, um ein Text-widget?
Wahrscheinlich bin ich über-denken, aber für einige Grund, warum ich kann nicht scheinen, um dies herauszufinden. Ich bin versucht, anfügen einer Bildlaufleiste mein Text Feld und nicht in der Lage gewesen, dies zu tun. Hier ist das segment der code:
self.scroller = Scrollbar(self.root)
self.scroller.place(x=706, y=121)
self.outputArea = Text(self.root, height=26, width=100)
self.outputArea.place(x=0, y=120)
self.scroller.config(command=self.outputArea.yview)
self.outputArea.config(state=DISABLED, yscrollcommand = self.scroller.set)
Diesem code gibt er einen sehr kleinen Scrollbalken rechts neben meinem text-Feld (und durch sehr kleine, ich meine, dass man die Pfeile nach oben und unten, aber nichts dazwischen). Ich kann scrollen, wenn mein Textfeld füllt, aber gibt es eine Möglichkeit, zumindest die Höhe der scrollbar, so dass es scheint, zu der gleichen Höhe wie das Textfeld?
InformationsquelleAutor jwebster | 2012-12-12
Du musst angemeldet sein, um einen Kommentar abzugeben.
Tkinter hat drei geometrie-Manager: pack, grid, und Ort.
Pack und grid sind in der Regel empfohlen, über Platz.
Können Sie die grid-manager Zeile und Spalte Optionen
um die position des Scrollbar - neben dem Text widget.
Legen Sie die Scrollbar - widget Befehl option, um die Text - yview Methode.
Legen Sie die Text widget yscrollcommand option, um die Bildlaufleiste ist set Methode.
Hier ist ein funktionierendes Beispiel:
Den Teil, dass die Adresse Ihrer Scrollbar - klein ist
sticky='nsew'
,was können Sie darüber Lesen → hier oder hier.
Etwas, dass wird hilfreich sein für Sie zu lernen, jetzt ist das anders Tkinter widgets können verschiedene geometrie-Manager innerhalb des gleichen Programms , solange Sie nicht die gleichen Eltern.
Es ist auch erwähnenswert, dass es die ScrolledText Modul (umbenannt tkinter.scrolledtext in Python ist3).
Es enthält eine Klasse, die auch als ScrolledText das ist ein zusammengesetztes widget (Text & Scrollbar).
Ich würde "in der Regel empfohlen über Ort" , "immer empfohlen, über den Platz". Platz ist nützlich, aber nur für die seltenen Situationen.
Wie bekommst du die Linien zu gehen, zwischen den verschiedenen Abschnitten der Antwort?
Ich empfehle, statt.
InformationsquelleAutor Honest Abe
Wenn Sie arbeiten mit einem Eingabefeld, dann eine praktische Möglichkeit, mit der
scrolledtext
Funktion. Es dauerte 4 Stunden um es zu finden. Nicht ya love tkinter?Zwei Dinge zu beachten...
Der zusätzliche import erforderlich
import tkinter.scrolledtext als tkscrolled
und setzen Sie Standard-Wert mit
insert
und Lesen Sie den Wert mitget
(mehr schreckliche Bezeichnung)Dieses Stück code war von zentraler Bedeutung für meine 20 Zeichen breit und 10 Zeilen text-Eingabe-Feld zu arbeiten.
Den scroll-Balken nach erreichen der Höhe, wie definiert in dem Aufruf. Sie sind Grau und mischen in den hintergrund. Es funktioniert Super..... sobald Sie herausfinden, die richtigen calls zu machen.
Ich hoffe das ist relevant für deine Frage!
InformationsquelleAutor MikeyB