Dimensionner automatiquement un QTableView
Salut à tous,
J'ai un problème avec PyQT,
J'essaye de mettre de multiple QTableView dans un QGridLayout.
Il marche bien pour la taille standard de QTableView, mais quand j'utilise une configuration de Largeur spécifique comme ce layout.addWidget (QtGui. QTableView (), 0,0,1,2), il bloque la Largeur du QTableView .
Je veux obtenir un QTableView double la taille d'un par défaut.
Voici un exemple du code que j'ai.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| def addColumn(self,indData,columnTitle,rowTable,columnTable,heightColumn,widthColumn):
self.verticalLayout = qt.QVBoxLayout()
self.label = qt.QLabel(self)
self.label.setText(columnTitle)
self.verticalLayout.addWidget(self.label)
self.tableView = qt.QTableView(self)
self.tableView.horizontalHeader()
self.tableView.verticalHeader()
self.tableView.setVerticalScrollBarPolicy(qc.Qt.ScrollBarAlwaysOff)
self.tableView.setVerticalScrollMode(qt.QAbstractItemView.ScrollPerPixel)
self.tableView.setHorizontalScrollBarPolicy(qc.Qt.ScrollBarAlwaysOff)
m = Model(self.customers[indData],widthColumn)
self.tableView.setModel(m)
d = Delegate(self.labelSelection)
self.tableView.setItemDelegate(d)
self.tableView.horizontalHeader().setResizeMode(qt.QHeaderView.Stretch)
self.tableView.resizeRowsToContents()
self.tableView.resizeColumnsToContents()
self.verticalLayout.addWidget(self.tableView)
self.gridLayout.addLayout(self.verticalLayout,rowTable,columnTable,heightColumn,widthColumn) |
Comme vous pouvez voir, je voudrais obtenir deux labels (l'un à côté de l'autre) dans QtableView double.
Avez-vous une idée comment je peux le fixer(réparer) ?
1 pièce(s) jointe(s)
Information supplémentaires
Merci de votre réponse,
Ci-dessous vous trouverez les différentes valeurs de rowTable,columnTable,heightColumn,widthColumn :
c
Code:
1 2 3 4 5 6 7 8 9 10 11
| lass Fenetre(qt.QWidget):
def __init__(self,parent=None):
super(Fenetre, self).__init__(parent)
self.etiquettesSelectionnees = []
self.gridLayout = qt.QGridLayout(self)
self.lesClients = self.lireBDD()
self.ajouterColonne(0,"title1", 0, 0, 2, 1)
self.ajouterColonne(1,"title2", 0, 1, 1, 1)
self.ajouterColonne(2,"title3", 1, 1, 1, 1)
self.ajouterColonne(3,"title4", 0, 2, 2, 2)
self.ajouterColonne(4,"title5", 0, 4, 2, 1) |
Vous trouverez également un aperçu de mon interface et la visualisation du problème :
Pièce jointe 180917
Le problème rencontré : j'aimerai que les largeurs des colonnes soient identiques entre un tableView simple et un tableView double.
Je vous remercie d'avance