Afficher les données de ma base sur mon interface graphique Tkinter

Le
ookahh Hors ligne
Bonjour, je developpe en python sous TKinter une application avec Base de donnée. J'arrive à inserer les enregistrements dans ma base avec la methode:

def enr():

id_clasí1.get()
libelle = ed2.get()
nbreí3.get()
myquery = "INSERT INTO essai.classe (id_clas, libelle, nbre) VALUES ('"+id_clas+"','"+libelle+"','"+nbre+"')"
db = MySQLdb.connect(host='localhost', user='root', passwd='', db='essai')
curs = db.cursor()
curs.execute(myquery)
curs.close()
db.commit()

je voudrais maintenant afficher les données de ma base sur mon interface graphique un peu comme le DbGrid de DELPHI. Est-ce avec le widget Listbox? comment faire
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
NicolasP
Le #23099981
Le 07/02/2011 13:58, ookahh a écrit :
Bonjour, je developpe en python sous TKinter une application avec Base de
donnée. J'arrive à inserer les enregistrements dans ma base avec la methode:

def enr():

id_clasí1.get()
libelle = ed2.get()
nbreí3.get()
myquery = "INSERT INTO essai.classe (id_clas, libelle, nbre) VALUES
('"+id_clas+"','"+libelle+"','"+nbre+"')"
db = MySQLdb.connect(host='localhost', user='root', passwd='', db='essai')
curs = db.cursor()
curs.execute(myquery)
curs.close()
db.commit()

je voudrais maintenant afficher les données de ma base sur mon interface
graphique un peu comme le DbGrid de DELPHI. Est-ce avec le widget Listbox?
comment faire


Bonjour,

Il y a plein de façons d'afficher des données. Une listbox en est une.
Pour savoir comment faire, il faut commencer par lire la documentation du widget listbox de TKinter.

Nicolas
ookahh Hors ligne
Le #23100911
NicolasP a écrit le 08/02/2011 à 08h28 :
Le 07/02/2011 13:58, ookahh a écrit :
Bonjour, je developpe en python sous TKinter une application avec Base de
donnée. J'arrive à inserer les enregistrements dans ma base avec
la methode:

def enr():

id_clasí1.get()
libelle = ed2.get()
nbreí3.get()
myquery = "INSERT INTO essai.classe (id_clas, libelle, nbre) VALUES
('"+id_clas+"','"+libelle+"','"+nbre+"')"
db = MySQLdb.connect(host='localhost', user='root', passwd='', db='essai')
curs = db.cursor()
curs.execute(myquery)
curs.close()
db.commit()

je voudrais maintenant afficher les données de ma base sur mon
interface
graphique un peu comme le DbGrid de DELPHI. Est-ce avec le widget Listbox?
comment faire



Bonjour,

Il y a plein de façons d'afficher des données. Une listbox en est
une.
Pour savoir comment faire, il faut commencer par lire la documentation du
widget listbox de TKinter.

Nicolas


je l'ai faite mais jusqu'à là je ne sais pas comment m'y prendre voici mon code:

#! /usr/bin/python
#-*- coding:Utf-8-*-

from Tkinter import *
import MySQLdb



def quitter ():

if tkMessageBox.askokcancel("Quitter", "Voulez-vous réellement quitter?"):

f1.quit ()


def affiche():
myquery = "select nom from essai.personne"
db = MySQLdb.connect(host='localhost', user='root', passwd='', db='essai')
curs = db.cursor()
curs.execute(myquery)
curs.close()
db.commit()



def onSelect(e):
select=listb.get(listb.curselection())
lab.configure(text=select)

if edt.insert !="":#effacer le Entry à chaque qu'on double clic
edt.delete(0,END)
edt.insert(0,select)



f1=Tk()
f1.protocol("WM_DELETE_WINDOW", quitter)

# Test widget listbox

listb=Listbox(f1)
lab=Label(f1,text="_")
edt=Entry(f1)
listb.pack()
lab.pack()
edt.pack()

# Insertion des éléments dans la liste:
listb.insert(END,affiche)

# Un double click dans la liste appellera la fonction onSelect:
listb.bind('<Double-1>',onSelect)

btn1=Button(f1, text="Quitter", command=quitter)
btn1.pack()

f1.mainloop()


avec ceci j'ai le message d'erreur suivant: "<function affiche at 0x2b1cd05ec230>"
Publicité
Poster une réponse
Anonyme