Zone de texte tkinter

Zone de texte tkinter

Tkinter est une bibliothèque intégrée de Python qui permet à l'utilisateur de créer des interfaces utilisateur graphiques. Lorsque vous travaillez avec des interfaces utilisateur graphiques, l'utilisateur doit formuler plusieurs composants, y compris une zone de texte. Pour cela, Tkinter a un widget de texte intégré.

La zone de texte Tkinter, comme son nom l'indique, intègre des zones de texte à l'intérieur de l'interface graphique créée via Tkinter. Ce message montrera le fonctionnement et les exemples de zones de texte tkinter.

Tkinter Text Box | Widget de texte tkinter

Pour créer une zone de texte à l'aide du tkinter, l'utilisateur doit utiliser le «Texte()" fonction. Cette fonction «texte» créera une zone de texte que l'utilisateur doit ajouter au «cadre» de Tkinter. Ce texte () est souvent appelé le «widget de texte». Pour comprendre le fonctionnement du widget de texte, jetez un œil à la syntaxe ci-dessous:

Syntaxe du widget de texte tkinter

varx = text (parentFrame, OptionsParams)


Dans la syntaxe donnée:

    • varx est la variable qui sera utilisée pour se référer et stocker l'état du widget de texte tkinter.
    • crampon parent est la fenêtre / cadre qui maintiendra la zone de texte à l'intérieur.
    • OptionsParams sont les différentes options qui peuvent être utilisées pour personnaliser la zone de texte tkinter

Note: Pour en savoir plus sur les options de personnalisation, lisez cette documentation officielle de Tkinter!

Comment créer une zone de texte tkinter?

Pour créer une zone de texte de base à l'aide de Tkinter, commencez par initialiser l'importation de Tkinter dans votre programme et initialise une fenêtre en utilisant les lignes de code suivantes:

de Tkinter Import *
tkwindow = tk ();
tkwindow.géométrie ("500x500")


Après cela, initialisez le widget de zone de texte avec une hauteur et une largeur spécifiques:

TextBox = Text (tkwindow, hauteur = 15, largeur = 15);


Après cela, définissez la propriété «Pack» du widget de texte pour développer:

zone de texte.pack (expand = true)


Note: Cela permettra à la zone de texte de prendre l'espace requis sur la fenêtre Tkinter.

Enfin, définissez la fenêtre Tkinter sur une boucle afin qu'elle ne se ferme pas après une seule trame:

tkwindow.boucle principale()


L'extrait complet est comme:

de Tkinter Import *
# Fenêtre tkinter
tkwindow = tk ();
tkwindow.géométrie ("500x500")
# Zone de texte tkinter
TextBox = Text (tkwindow, hauteur = 15, largeur = 60);
zone de texte.pack (expand = true)
tkwindow.boucle principale()


L'exécution de cet extrait de code produira la fenêtre Tkinter suivante:


Cette fenêtre de zone de texte est modifiable, ce qui signifie que l'utilisateur peut facilement ajouter du texte à l'intérieur:


Une zone de texte simple a été facilement créée à l'intérieur de Tkinter.

Comment créer une zone de texte non modifiable à l'aide de Tkinter?

Pour créer une zone de texte non éditable à l'intérieur de l'interface graphique de Tkinter, l'utilisateur doit créer un widget de texte puis définir son configurer État pour "désactivé". Pour en prendre un exemple, utilisez le code suivant:

de Tkinter Import *
# Fenêtre tkinter
tkwindow = tk ();
tkwindow.géométrie ("500x500")
text = "'Bonjour, c'est Linuxhint.
Ceci est une zone de texte non éditable
Fait avec tkinter.
'"
# Zone de texte tkinter
TextBox = Text (tkwindow, hauteur = 15, largeur = 60);
zone de texte.insérer ("fin", texte)
# Pour le rendre non cotisable à utiliser la fonction de configuration
zone de texte.config (state = 'handicap')
zone de texte.pack (expand = true)
tkwindow.boucle principale()


Dans cet extrait de code:

    • Une fenêtre simple a été créée avec une zone de texte
    • Une chaîne est insérée dans la zone de texte à l'aide de la fonction "insert ()".
    • La fonction config () est utilisée pour définir «l'état» de la zone de texte en «désactivé», ce qui le rend non créable.

L'exécution du code ci-dessus produit la fenêtre Tkinter suivante:

Comment supprimer le contenu de la zone de texte Tkinter?

Pour supprimer tout le contenu de la zone de texte Tkinter, utilisez simplement la fonction «Delete ()» avec la variable TextBox. Pour démontrer cela, prenez le code suivant:

de Tkinter Import *
# Fenêtre tkinter
tkwindow = tk ();
tkwindow.géométrie ("500x500")
text = "'Bonjour, c'est Linuxhint.
Appuyez sur le bouton ci-dessous pour effacer le contenu de la zone de texte
'"
# Zone de texte tkinter
TextBox = Text (tkwindow, hauteur = 15, largeur = 60);
zone de texte.insérer ("fin", texte)
zone de texte.pack (expand = true)
def clear_text ():
zone de texte.Supprimer (1.0, fin)
Bouton (tkwindow, text = 'clear', largeur = 15, hauteur = 2,
Command = Clear_text).pack (expand = true)
tkwindow.boucle principale()


Dans cet extrait de code ci-dessus:

    • Une zone de texte simple a été ajoutée avec du contenu à l'intérieur dans la fenêtre Tkinter.
    • Un bouton a également été ajouté qui appelle le «effacer le texte()" fonction.
    • La fonction «clear_text ()» prend les variables de zone de texte et appelle la fonction «delete ()», passant les arguments comme «1.0 ”et« fin », qui est utilisé pour effacer l'ensemble du contenu.

L'exécution de l'extrait de code ci-dessus produira la fenêtre Tkinter suivante:


La sortie a vérifié que le bouton a supprimé le contenu du widget de texte tkinter.

Conclusion

Une zone de texte Tkinter, ou le widget de texte tkinter, crée des zones de texte sur les fenêtres créées via Tkinter. Ces zones de texte peuvent être faites pour contenir un texte prédéfini et un texte ajouté à l'utilisateur au moment de l'exécution. De plus, l'utilisateur peut modifier le fonctionnement et l'apparence de la zone de texte en utilisant différents indicateurs et fonctions dans la zone de texte. Cet article a illustré la création d'une zone de texte en utilisant la zone de texte Tkinter avec des exemples.