Ajouter dans un QVBoxLayout une QTableView dont les données proviennent d'un fichier
Bonjour,
Je souhaite ajouté à mon VBoxLayout une QTable view qui contiendra les données suivantes:
Dans la première colonnes (Capacités): des simples Labels, dans les 5 colonnes suivantes, des radiobox, dans la dernière un bouton d'aide.
Ce qui donnerait un formulaire selon le schémas suivant:
"est capable de... :" | [x] aucune | [ ] faible | [ ] modérée | [ ] forte | [ ] totale | [bouton_daide_ouverture_popup]
Mes labels sont triés dans un fichier XML sous la forme:
<ID>1</ID>
<capacite>est capable de... :</capacite>
<aide_pour_la_popup>
....</aide_pour_la_popup>
<...>...</...>
Mes problèmes sont:
- créer le QTableView, je vois beaucoup de doc pour le C++, très peu pour le python (du moins, très peu que je comprenne)
- Lier mon fichier XML
- Lier pour chaque label le formulaire de radiobox
Pour l'heure, je n'ai que mon code de fenêtre de base, à savoir:
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 32 33 34 35 36 37 38 39 40 41 42 43
|
# -*- coding: utf-8 -*-
#!/usr/bin/python3
import sys
try:
from PyQt5.QtWidgets import QWidget,QMainWindow, QAction, qApp,\
QApplication, QFrame, QVBoxLayout
from PyQt5.QtGui import QIcon
except ImportError:
raise "Erreur lors de l'importation de PyQt5"
class SetupUI(QMainWindow):
def __init__(self):
super(SetupUI, self).__init__()
self.initUI()
def initUI(self):
self.setupCGToolBar()
self.setCentralWidget(QFrame())
self.vbox = QVBoxLayout()
self.vbox.addStretch(1)
self.centralWidget().setLayout(self.vbox)
self.setGeometry(300, 300, 300, 220)
self.setWindowTitle("Formulaire ICF")
self.show()
# ToolBar
def setupCGToolBar(self):
cg = self.addToolBar('CG')
cg.addAction('Conditions générales d\'utilisations')
def showCG(self):
QMessageBox.question(self, 'Message', 'Show my message', QMessageBox.Yes)
# /Toolbar
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = SetupUI()
sys.exit(app.exec_()) |
Si vous pourriez m'aider dans la conception/ajout de ce QTableView, ce serait vraiment super.
EDIT: si il y a plus simple qu'un QTableView pour ça, je suis bien entendu preneur !
Meilleures salutations