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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.

@+