web-dev-qa-db-fra.com

Tkinter a-t-il un widget de table?

J'apprends le python et j'aimerais l'utiliser pour créer une application graphique simple. Puisque Tkinter est déjà intégré (et très simple à utiliser), j'aimerais l'utiliser pour créer mon application. .

J'aimerais créer une application qui affichera une table contenant des données que j'ai chargées à partir de ma base de données.

J'ai cherché table mais je n'ai trouvé aucun exemple ni documentation concernant un Tkinter table _ composant.

Est-ce que Tkinter a un composant intégré table? Si non, que pourrais-je/devrais-je utiliser à la place?

45
Freewind

Tkinter n'a pas de widget de table intégré. Le plus proche que vous pouvez utiliser est un Listbox ou un Treeview du sous-package du tkinter ttk .

Cependant, vous pouvez utiliser tktable , qui enveloppe le Tcl/TkTkTable widget, écrit par Guilherme Polo . Note : pour utiliser cette bibliothèque d'encapsidation, vous devez d'abord avoir installé la bibliothèque TkTable de Tk d'origine, sinon vous obtiendrez une "erreur d'importation. ".

23
Sticky

Vous pouvez utiliser la grille de Tkinter.

Pour créer un simple tableau de type Excel:

from Tkinter import *

root = Tk()

height = 5
width = 5
for i in range(height): #Rows
    for j in range(width): #Columns
        b = Entry(root, text="")
        b.grid(row=i, column=j)

mainloop()

Vous pouvez récupérer les données en accédant aux enfants de la grille et en obtenant les valeurs à partir de là.

33
Steven

Si la table est en lecture seule et que vous utilisez une version suffisamment moderne de Tkinter, vous pouvez utiliser le widget ttk.Treeview .

Vous pouvez également créer assez facilement une grille de widgets Entry ou Label. Voir cette réponse pour un exemple: https://stackoverflow.com/a/11049650/7432

18
Bryan Oakley

Vous pouvez utiliser tkintertable . Voir ici comment commencer à l'utiliser.

12
chido

https://github.com/clarenceangel/tkinterstuff Je l'ai fait mais je ne suis pas un pro. Cependant, il crée un tableau et le retourne sous forme d'image que vous pouvez ajouter à un cadre ou à une racine. Vous le nourrissez avec un csv avec un nombre quelconque de lignes et de colonnes tant que les colonnes sont bien sur chaque ligne.

2
Mixstah