Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

2 réponses
Avatar
ookahh
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=ed1.get()
libelle = ed2.get()
nbre=ed3.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

2 réponses

Avatar
NicolasP
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
Avatar
ookahh
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>"