Lire les données d'une table pour les récupérer dans une combobox
Bonsoir à toutes et à tous,
J'essaye de me familiariser avec PyQt et je rencontre quelques problèmes...
J'ai conçu un petit script (ci-dessous) qui affiche les données d'une liste dans une combobox.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
import sys
from Lecture_Consommable import *
class Element(QtGui.QDialog):
def __init__ (self, parent = None) :
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.liste =['Ordinateur Portable', 'Imprimante', 'Ecran Plat', 'Disque Dur']
self.formulaire()
def formulaire(self):
for i in self.liste:
self.ui.comboBox.addItem(i)
if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
myapp = Element()
myapp.show()
sys.exit(app.exec_()) |
J'essaye d'étendre ce script pour lire les données d'une table, les ajouter dans une liste et les récupérer dans la combobox.
J'ai du mal à aborder la documentation de PyQt mais je pense avoir réussi à établir la connexion avec la base de données. Je bloque toutefois sur la syntaxe pour exécuter la requête "SELECT nom_consommable FROM consommable" dans ma fonction Formulaire. Je n'arrive pas non plus à déterminer si je dois "créer" un curseur pour lire les données ou s'il existe une méthode déjà existante sous PyQt.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
import sys
from Lecture_Consommable import *
from PyQt4 import QtSql, QtGui
def Connection():
db = QtSql.QSqlDatabase.addDatabase('QPSQL')
db.setHostName('localhost')
db.setDatabaseName('*****')
db.setUserName('postgres')
db.setPassword('*****')
db.open()
class Element(QtGui.QDialog):
def __init__ (self, parent = None) :
QtGui.QWidget.__init__(self, parent)
self.ui = Ui_Dialog()
self.ui.setupUi(self)
self.liste =['Ordinateur Portable', 'Imprimante', 'Ecran Plat', 'Disque Dur']
self.formulaire()
def formulaire(self):
for i in self.liste:
self.ui.comboBox.addItem(i)
if __name__=="__main__":
app = QtGui.QApplication(sys.argv)
myapp = Element()
myapp.show()
sys.exit(app.exec_()) |
Si quelqu'un peut me proposer une idée ou rectifier la mienne, je suis preneur.
@+