Python >> Tutoriel Python >  >> Python GUI >> Tkinter GUI

Widget de texte Tkinter avec barre de défilement Tkinter

Bonjour à tous. Dans cette partie de notre section tutoriel Tkinter, nous allons jeter un œil au widget texte Tkinter.

Alors que j'utilisais une approche orientée objet dans les tutoriels précédents, puisque nous allons maintenant examiner des exemples de widgets individuels, il serait plus simple d'utiliser directement le module.

Donc, j'utiliserai directement Tkinter ici, sans un Application explicite classe.

Maintenant, commençons !


Widget de texte Tkinter

Il s'agit d'un widget qui nous permet de visualiser facilement les objets texte dans notre application. Par exemple, si vous vouliez afficher certaines lignes sur l'interface graphique, nous pouvons facilement utiliser un widget Texte pour atteindre notre objectif.

Voyons comment.

Pour créer un widget texte, utilisez simplement le tk.Text(master, width, height) méthode, où master est l'objet maître de l'application graphique (utilisant tk.TK() ).

Nous pouvons ensuite ajouter du texte en utilisant le text_widget.insert() méthode.

import tkinter as tk

# Create our master object to the Application
master = tk.Tk()

# Create the text widget for two lines of text
text_widget = tk.Text(master, height=2, width=40)

# Pack it into our tkinter application
text_widget.pack()

# Insert text into the text widget
# tk.END specifies insertion after the last character in our buffer
text_widget.insert(tk.END, "First Line - Hello from AskPython\nSecond Line - Hi")

# Start the mainloop
tk.mainloop()

Sortie

En effet, on a l'impression d'avoir les deux lignes de texte dans notre widget texte !

Ajout d'une barre de défilement à notre widget texte

Bien que la sortie ci-dessus fonctionne pour des textes plus petits, que se passe-t-il si la taille de notre texte est elle-même supérieure à la largeur ?

Nous pouvons utiliser la barre de défilement de Tkinter et l'ajouter à notre widget texte. Maintenant, après avoir ajouté la barre de défilement, nous devrions pouvoir afficher correctement des textes plus grands.

Pour créer un objet barre de défilement, utilisez tk.Scrollbar() et ajoutez-le à notre application! Maintenant, après l'avoir intégré à l'application, nous pouvons afficher des textes plus longs à l'aide d'un widget de texte défilant !

import tkinter as tk

# Create our master object to the Application
master = tk.Tk()

# Create the text widget
text_widget = tk.Text(master, height=5, width=40)

# Create a scrollbar
scroll_bar = tk.Scrollbar(master)

# Pack the scroll bar
# Place it to the right side, using tk.RIGHT
scroll_bar.pack(side=tk.RIGHT)

# Pack it into our tkinter application
# Place the text widget to the left side
text_widget.pack(side=tk.LEFT)

long_text = """This is a multiline string.
We can write this in multiple lines too!
Hello from AskPython. This is the third line.
This is the fourth line. Although the length of the text is longer than
the width, we can use tkinter's scrollbar to solve this problem!
"""

# Insert text into the text widget
text_widget.insert(tk.END, long_text)

# Start the mainloop
tk.mainloop()

Sortie

Vous pouvez voir la barre de défilement à droite, soutenue par le widget de texte à gauche.

J'espère que vous pourrez vous en servir pour ajouter plus de widgets à votre application graphique et la rendre plus intéressante !


Conclusion

Dans ce didacticiel, nous avons appris comment ajouter des widgets de texte simples à notre application Tkinter, ainsi que des barres de défilement pour prendre en charge des textes plus volumineux.

Restez à l'écoute pour plus de widgets, dans nos prochains tutoriels Tkinter !



Prochain article