Comment attacher une barre de défilement à un widget texte?
Je suis probablement trop penser à cela, mais pour une raison que je n'arrive pas à comprendre cela. Je suis en train de fixer une barre de défilement dans mon champ de Texte et ont été incapables de le faire. Voici le segment de 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)
Ce code est à placer une très petite barre de défilement à droite à côté de mon champ de texte (et par de très petites, je veux dire que vous pouvez voir les flèches haut et bas, mais rien entre les deux). Je peux faire défiler avec elle lors de mon champ de texte se remplit, mais il est un moyen pour à tout le moins à la hauteur de la barre de défilement de sorte qu'il semble être à la même hauteur que le champ de texte?
source d'informationauteur jwebster
Vous devez vous connecter pour publier un commentaire.
Tkinter a trois géométrie gestionnaires: packgrilleet place.
Pack et la grille sont généralement recommandée sur place.
Vous pouvez utiliser le gestionnaire de réseau ligne et colonne options
la position de la barre de Défilement à côté de la Texte widget.
Définir la barre de Défilement du widget commande option pour le Texte du yview méthode.
Définir la Texte du widget yscrollcommand option de la barre de Défilement du ensemble méthode.
Voici un exemple de travail:
La partie qui sera l'adresse de votre barre de Défilement étant petite, est
sticky='nsew'
,dont vous pouvez lire → ici ou ici.
Quelque chose qui sera utile pour vous d'apprendre à l'instant est que les différents Tkinter les widgets peuvent utiliser différents géométrie gestionnaires au sein du même programme tant qu'ils ne partagent pas le même parent.
Il est également intéressant de mentionner qu'il est le ScrolledText module (renommé tkinter.scrolledtext en Python3).
Il contient une classe qui est aussi appelé ScrolledText qui est un composé widget (Texte & barre de Défilement).
Si vous travaillez avec une zone de SAISIE, puis d'une façon pratique à l'aide de la
scrolledtext
fonction. Il m'a fallu 4 heures pour le trouver. N'est-ce pas l'amour tkinter?Deux choses sont à noter...
L'importation additionnels requis
import tkinter.scrolledtext comme tkscrolled
et vous définissez la valeur par défaut à l'aide de
insert
et de lire la valeur à l'aide deget
(plus terrible de nommage)Ce morceau de code a été centrale pour faire mes 20 caractères de large par 10 lignes de texte zone de saisie pour le travail.
Les barres de défilement s'affichent une fois atteint la hauteur telle que définie dans l'appel. Elles sont grisées et se fondre dans l'arrière-plan. Il fonctionne très bien..... une fois que vous trouver le bon appels à faire.
J'espère que c'est pertinent à votre question!