Bonjour,

Excusez-moi peut être que le problème que je pose a été déjà abordé.
En résumé, je voudrai affiché dans un combobox une liste à partir d'une table. Je me suis inspiré d'un exemple que j'ai trouvé sur la page : http://www.voidynullness.net/blog/20...atabase-table/
Seulement, le combobox n'affiche rien

Vous voudrez m'aider pour résoudre ce problème et de progresser dans mon projet. Et si vous avez une solution meilleures, je suis preneur.
Merci infiniment.

Ci-joint, les deux fichiers sources


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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
# -*- coding: utf-8 -*-
# Form implementation generated from reading ui file 'menu1.ui'
#
# Created by: PyQt4 UI code generator 4.11.4
#
# WARNING! All changes made in this file will be lost!
 
from PyQt4 import QtCore, QtGui
try:
    _fromUtf8 = QtCore.QString.fromUtf8
except AttributeError:
    def _fromUtf8(s):
        return s
try:
    _encoding = QtGui.QApplication.UnicodeUTF8
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig, _encoding)
except AttributeError:
    def _translate(context, text, disambig):
        return QtGui.QApplication.translate(context, text, disambig)
 
class Ui_MainWindow(object):
    def setupUi(self, MainWindow):
        MainWindow.setObjectName(_fromUtf8("MainWindow"))
        MainWindow.resize(605, 359)
        self.centralwidget = QtGui.QWidget(MainWindow)
        self.centralwidget.setObjectName(_fromUtf8("centralwidget"))
        self.comboBox = QtGui.QComboBox(self.centralwidget)
        self.comboBox.setGeometry(QtCore.QRect(160, 90, 301, 31))
        self.comboBox.setObjectName(_fromUtf8("comboBox"))
        MainWindow.setCentralWidget(self.centralwidget)
        self.menubar = QtGui.QMenuBar(MainWindow)
        self.menubar.setGeometry(QtCore.QRect(0, 0, 605, 18))
        self.menubar.setObjectName(_fromUtf8("menubar"))
        self.menuFichiers = QtGui.QMenu(self.menubar)
        self.menuFichiers.setObjectName(_fromUtf8("menuFichiers"))
        self.menuFactures = QtGui.QMenu(self.menubar)
        self.menuFactures.setObjectName(_fromUtf8("menuFactures"))
        self.menuM_moire = QtGui.QMenu(self.menubar)
        self.menuM_moire.setObjectName(_fromUtf8("menuM_moire"))
        MainWindow.setMenuBar(self.menubar)
        self.statusbar = QtGui.QStatusBar(MainWindow)
        self.statusbar.setObjectName(_fromUtf8("statusbar"))
        MainWindow.setStatusBar(self.statusbar)
        self.actionQuitter = QtGui.QAction(MainWindow)
        self.actionQuitter.setObjectName(_fromUtf8("actionQuitter"))
        self.menuFichiers.addAction(self.actionQuitter)
        self.menuFichiers.addSeparator()
        self.menubar.addAction(self.menuFichiers.menuAction())
        self.menubar.addAction(self.menuFactures.menuAction())
        self.menubar.addAction(self.menuM_moire.menuAction())
 
        self.retranslateUi(MainWindow)
        QtCore.QObject.connect(self.comboBox, QtCore.SIGNAL(_fromUtf8("currentIndexChanged(int)")), MainWindow.show)
        QtCore.QMetaObject.connectSlotsByName(MainWindow)
 
    def retranslateUi(self, MainWindow):
        MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow", None))
        self.comboBox.setAccessibleDescription(_translate("MainWindow", "<html><head/><body><p><br/></p></body></html>", None))
        self.menuFichiers.setTitle(_translate("MainWindow", "Fichiers", None))
        self.menuFactures.setTitle(_translate("MainWindow", "Factures", None))
        self.menuM_moire.setTitle(_translate("MainWindow", "Mémoire", None))
        self.actionQuitter.setText(_translate("MainWindow", "Quitter", None))
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
32
33
34
35
36
37
 
import sys
import os
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from PyQt4.QtSql import *
from menu1 import Ui_MainWindow
 
CONFIG_DATABASE_PATH = "./"
CONFIG_DATABASE_NAME = "DBFM.db"
 
class Fenetre(QMainWindow , Ui_MainWindow):
 
    def __init__(self):
        QMainWindow.__init__(self)
        self.setupUi(self)
        self.setWindowTitle("Exemple Utilisation d'un ComboBox")
        self.model = QSqlTableModel(self)
        self.model.setTable("CategoriesClients")
        self.model.select()
 
        self.comboBox.setModel(self.model)
        self.comboBox.setModelColumn(
                        self.model.fieldIndex("CategorieLibelle"))
    def data():
        filename = os.path.join(CONFIG_DATABASE_PATH,
                                CONFIG_DATABASE_NAME)
        db= QSqlDatabase.addDatabase("QSQLITE")
        db.setDatabaseName(filename)
        if not db.open():
            QMessageBox.warning(None, "Combo Box Example",
            QString("Database Error: %1").arg(db.lastError().text()))
        sys.exit(1)
app = QApplication(sys.argv)
window = Fenetre()
window.show()
app.exec_()