Table des matières
Créer une arborescence
Ajouter une barre de défilement
Remplir l'arborescence
Barres de défilement stylisées
测试滚动条
结论
Maison développement back-end Tutoriel Python Barre de défilement TreeView en Python-Tkinter

Barre de défilement TreeView en Python-Tkinter

Aug 20, 2023 pm 05:57 PM
python tkinter vue arborescente

Barre de défilement TreeView en Python-Tkinter

Lorsque vous travaillez avec des données hiérarchiques dans une interface utilisateur graphique (GUI), il est souvent nécessaire d'afficher les données de manière structurée et organisée. Le widget Treeview de Python-Tkinter fournit une solution puissante pour présenter des données hiérarchiques de manière conviviale. Cependant, à mesure que le nombre d'éléments dans une arborescence augmente, il devient crucial d'inclure des barres de défilement pour garantir une navigation et une convivialité fluides.

Tout d’abord, assurez-vous que Python et Tkinter sont installés sur votre système. Python 3 est recommandé pour une compatibilité et des fonctionnalités améliorées. Si Tkinter n'est pas installé, vous pouvez facilement l'installer à l'aide du gestionnaire de packages Python pip. Ouvrez votre terminal ou votre invite de commande et exécutez la commande suivante

pip install tk

Une fois Tkinter installé, vous aurez accès à la puissante boîte à outils GUI dont vous avez besoin pour créer des widgets Treeview et ajouter des barres de défilement.

Créer une arborescence

Tout d’abord, nous allons créer un widget Treeview de base. Ouvrez votre éditeur de texte préféré ou votre environnement de développement intégré (IDE) et créez un nouveau fichier Python. Nous allons commencer par importer les modules nécessaires -

import tkinter as tk
from tkinter import ttk

Le module tkinter fournit la base pour la création d'applications GUI en Python, et le module ttk contient les widgets thématiques, y compris le widget Treeview.

Ensuite, créons une fenêtre racine Tkinter et un widget Treeview. Ajoutez le code suivant à votre fichier Python −

root = tk.Tk()

# Create a Treeview widget
tree = ttk.Treeview(root)
tree.pack()

Ici, nous utilisons tk.Tk() pour créer une fenêtre racine, qui sert de fenêtre principale de notre application. Ensuite, nous créons un objet arborescence de la classe ttk.Treeview, qui représente notre widget Treeview. Enfin, nous utilisons la méthode pack pour afficher le widget Treeview dans la fenêtre racine.

Ajouter une barre de défilement

Pour ajouter une barre de défilement à notre Treeview, nous utiliserons le widget ttk.Scrollbar fourni par Tkinter. La barre de défilement permet un défilement vertical fluide lorsque les éléments de l'arborescence dépassent l'espace disponible.

Après avoir créé le widget TreeView, ajoutez le code suivant pour créer la barre de défilement et configurez le TreeView pour l'utiliser

# Create a Scrollbar
scrollbar = ttk.Scrollbar(root, orient="vertical", command=tree.yview)

# Configure the Treeview to use the scrollbar
tree.configure(yscrollcommand=scrollbar.set)

# Place the scrollbar on the right side of the Treeview
scrollbar.pack(side="right", fill="y")

Ici, nous créons un objet scrollbar de la classe ttk.Scrollbar, en spécifiant l'orientation comme "verticale" à l'aide du paramètre orient. Le paramètre de commande est défini sur tree.yview, qui associe la barre de défilement au défilement vertical du Treeview.

Ensuite, nous configurons Treeview pour utiliser la méthode set de la barre de défilement comme option yscrollcommand. Cela garantit que la barre de défilement contrôle le défilement vertical de l'arborescence.

Enfin, nous utilisons la méthode pack pour placer la barre de défilement sur le côté droit du widget Treeview, en utilisant l'option fill="y" pour qu'elle remplisse toute la hauteur du Treeview.

Avec ces ajouts, si vous exécutez maintenant le fichier Python, vous verrez le widget Treeview accompagné d'une barre de défilement verticale sur le côté droit. Les barres de défilement permettront de parcourir le contenu de l'arborescence en cas de besoin.

Remplir l'arborescence

Maintenant que le TreeView et les barres de défilement sont configurés, remplissons le TreeView avec quelques exemples de données. De cette façon, nous pouvons observer le comportement de la barre de défilement lorsqu'il s'agit d'un grand nombre d'éléments.

Pour ajouter des colonnes et des éléments à Treeview, modifiez votre fichier Python comme suit

# Add columns to the Treeview
tree["columns"] = ("Name", "Age")

# Define column headings
tree.heading("#0", text="ID")
tree.heading("Name", text="Name")
tree.heading("Age", text="Age")

# Add items to the Treeview
tree.insert("", "end", text="1", values=("John Doe", "30"))
tree.insert("", "end", text="2", values=("Jane Smith", "25"))
tree.insert("", "end", text="3", values=("Mike Johnson", "35"))

Ici, nous avons ajouté deux colonnes à l'arborescence en définissant la propriété columns sur un tuple contenant les noms de colonnes : "Name" et "Age". La colonne n°0 représente la première colonne par défaut, que nous utiliserons pour afficher l'ID. Nous utilisons la méthode d'en-tête pour définir l'en-tête de colonne en conséquence.

Ensuite, nous utilisons la méthode insert pour insérer l'élément dans l'arborescence. Chaque élément est représenté par un identifiant unique et la colonne correspondante a une valeur correspondante. Dans cet exemple, nous avons inséré trois éléments dont les identifiants sont 1, 2 et 3, qui correspondent respectivement au nom et à l'âge.

Barres de défilement stylisées

Bien que la fonctionnalité de base de la barre de défilement soit essentielle, vous souhaiterez peut-être également personnaliser son apparence pour qu'elle corresponde au thème général de votre application. Tkinter offre la possibilité de modifier le style de la barre de défilement à l'aide de la classe ttk.Style. Explorons comment styliser les barres de défilement pour obtenir un aspect plus coordonné.

Tout d'abord, importez le module ttk et créez une instance de la classe ttk.Style

from tkinter import ttk

# Create a Style object
style = ttk.Style()

Ensuite, nous pouvons configurer le style de la barre de défilement. Dans cet exemple, nous allons modifier la couleur d’arrière-plan, la couleur de la poignée et l’épaisseur de la barre de défilement. Ajoutez le code suivant après avoir créé l'objet style

# Configure the style for the scrollbar
style.configure("Treeview.Scrollbar",
                background="gray",
                troughcolor="light gray",
                gripcount=0,
                gripcolor="white",
                gripinset=2,
                gripborderwidth=0,
                thickness=10)

Ici, nous utilisons la méthode configure de la classe ttk.Style pour personnaliser l'apparence de la barre de défilement. La chaîne "Treeview.Scrollbar" fait référence à l'élément de style spécifique que nous souhaitons modifier.

在这个例子中,我们将滚动条的背景颜色设置为灰色,槽的颜色设置为浅灰色,手柄的颜色设置为白色。gripcount选项设置为0以隐藏手柄,并使用gripinset和gripborderwidth选项调整手柄的外观。最后,我们将滚动条的厚度设置为10像素。

将自定义样式应用于滚动条,将其与 Treeview 小部件关联。将滚动条创建代码修改如下

# Create a Scrollbar with the customized style
scrollbar = ttk.Scrollbar(root, orient="vertical", command=tree.yview, style="Treeview.Scrollbar")

通过将style参数指定为"Treeview.Scrollbar",滚动条将使用之前定义的自定义样式。

保存Python文件并运行它。现在你应该在Treeview中看到带有更新样式的滚动条。

测试滚动条

保存Python文件并运行。您应该会看到一个带有Treeview小部件和垂直滚动条的窗口。尝试调整窗口大小或向Treeview添加更多项目,以查看滚动条的效果。

结论

在这里,我们探讨了如何在Python-Tkinter中为Treeview小部件添加滚动条。我们首先创建了一个基本的Treeview,然后添加了一个垂直滚动条,以实现对Treeview内容的平滑滚动。我们还介绍了如何样式化滚动条,以使其与应用程序的整体主题相匹配。此外,我们还学习了如何处理滚动条事件,使我们能够对用户交互作出特定的响应。通过按照这些步骤,您可以通过添加可滚动的Treeview来增强您的Python-Tkinter应用程序,为导航分层数据提供高效和用户友好的方式。

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Porce de variable PHP expliquée
4 Il y a quelques semaines By 百草
Conseils pour écrire des commentaires PHP
4 Il y a quelques semaines By 百草
Commentant le code en php
4 Il y a quelques semaines By 百草
<🎜>: Grow A Garden - Guide complet des marchands itinérants
3 Il y a quelques semaines By Jack chen

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Sujets chauds

Tutoriel PHP
1510
276
Comment créer un environnement virtuel à Python Comment créer un environnement virtuel à Python Aug 05, 2025 pm 01:05 PM

Pour créer un environnement virtuel Python, vous pouvez utiliser le module VENV. Les étapes sont: 1. Entrez le répertoire de projet pour exécuter l'environnement Python-Mvenvenv pour créer l'environnement; 2. Utilisez SourceEnv / Bin / Activer sur Mac / Linux et Env \ Scripts \ Activate sur Windows; 3. Utilisez le package d'installation PiPinstall, PipFreeze> exigence.txt pour exporter les dépendances; 4. Veillez à éviter de soumettre l'environnement virtuel à GIT et confirmez qu'il est dans le bon environnement pendant l'installation. Les environnements virtuels peuvent isoler les dépendances du projet pour prévenir les conflits, en particulier adaptés au développement multi-projets, et les éditeurs tels que PyCharm ou VScode sont également

Exemple de bibliothèque de calendrier Python Exemple de bibliothèque de calendrier Python Aug 04, 2025 am 10:33 AM

Utilisez la bibliothèque Pythonschedule pour implémenter facilement les tâches de synchronisation. Tout d'abord, installez la bibliothèque via PiPinStallSchedule, puis importez les modules de planification et de temps, définissez les fonctions qui doivent être exécutées régulièrement, puis utilisez la calendrier.every () pour définir l'intervalle de temps et lier la fonction de tâche. Enfin, appelez calendrier.run_pending () et time.sleep (1) dans une boucle de temps pour exécuter en continu la tâche; Par exemple, si vous exécutez une tâche toutes les 10 secondes, vous pouvez l'écrire comme calendrier. Chaque (10) .seconds.do (travail), qui prend en charge la planification par quelques minutes, heures, jours, semaines, etc., et vous pouvez également spécifier des tâches spécifiques.

Comment exécuter le code python dans le texte sublime Comment exécuter le code python dans le texte sublime Aug 04, 2025 pm 04:25 PM

Assurez-vous quepythonisinstalledandaddedTopathByCheCkingVersionInterminal; 2.SaveFileWith.pyExtension; 3.Usectl BtorUnviaDefaultBuildSystem; 4.CreateAcustomBuildSystemifneedEdBygingTotools> BuildSystem> newBuildSystem, en entreprenant

Quelles sont les stratégies courantes pour déboguer une fuite de mémoire à Python? Quelles sont les stratégies courantes pour déboguer une fuite de mémoire à Python? Aug 06, 2025 pm 01:43 PM

UsetracemalloctotrackMemoryAllocations et identifier les high-momemorylines; 2.MonitorObjectCountSwithgcandobjgraphtodetectGrowingObjectTypes; 3.inspectreferencyclesandlong-livefreencesUsingobjgraph.show_backrefscheckForonColdCyledCycles; 4.USEMMORY_PROFOF

Analyse de survie avec Python Analyse de survie avec Python Aug 03, 2025 pm 12:58 PM

L'analyse de survie est utilisée pour étudier le temps des événements et est généralement mise en œuvre dans Python en utilisant des lignes de sauvetage et de la scikit-survie. 1. Installez la bibliothèque Lifelines et préparez les données contenant le temps et l'état de l'événement; 2. Utilisez l'estimateur de Kaplan-Meier pour dessiner la courbe de survie pour visualiser la probabilité que l'événement ne se produise pas; 3. Analyser l'impact des variables sur le temps de l'événement via le modèle de risques proportionnels Cox et vérifier les hypothèses du modèle; 4. Faites attention au traitement des données censurées pour vous assurer que la colonne d'événement marque correctement censuré et les événements.

Comment travailler avec les fuseaux horaires à Python? Comment travailler avec les fuseaux horaires à Python? Aug 05, 2025 pm 04:53 PM

UsezoneinfoforPython3.9 tocreatetimezone-awaredatetimesandconvertbetweentimezoneswithastimezone();2.ForPython3.6–3.8,usepytzwithlocalize()toavoidDSTerrors;3.AlwaysworkinUTCinternallyandconverttolocaltimeonlyfordisplay;4.Parsetimezone-awarestringsusin

Java vs Python pour le développement du backend: une comparaison détaillée Java vs Python pour le développement du backend: une comparaison détaillée Aug 04, 2025 am 11:57 AM

Systems with high performance requirements, such as Java for financial transactions, Python for lightweight services; 2. Python has high development efficiency, suitable for MVP, Java is suitable for large-scale team collaboration; 3. Java est mature dans l'écosystème de niveau de Java Enterprise, et le cadre Python est léger, en particulier Fastapi est exceptionnel; 4. Java is the first choice for high-concurrency distributed systems, and Python requires asynchronous models to improve performance; 5. Python a une courbe d'apprentissage en douceur et un large éventail de talents, et Java a des réserves suffisantes de talents au niveau de l'entreprise; 6. Python is suitable for cloud-native lightweight deployment, and Java is more stable in traditional operation and maintenance; Le choix final doit être combiné avec la pile technologique de l'équipe, le cycle de projet, les exigences de performance, la complexité d'intégration et les coûts de fonctionnement et de maintenance, et la clé est d'utiliser le bon scénario.

Exemple Blueprint Flask Python Exemple Blueprint Flask Python Aug 05, 2025 am 01:44 AM

Utilisez FlaskBlueprint pour modulariser l'application en fonction des fonctions; 1. Créer des instances BluePrint et définir des routes, telles que la création user_bp dans user.py; 2. Créez d'autres Blueprints dans un autre fichier tel que Post.py; 3. Importer dans app.py et enregistrer chaque plan Blueprint avec app.register_blueprint (); 4. Après l'exécution, accédez à l'URL correspondante pour voir l'effet de routage modulaire, la structure du code est plus claire et facile à entretenir.

See all articles