QTableView - de ne pas permettre à l'utilisateur de modifier la cellule
J'ai créé un QTableView avec un QSqlTableModel.
En standard, en double-cliquant sur les cellules de la marque et l'utilisateur peut les modifier.
Je veux que l'utilisateur n'est pas autorisé à le faire. Il est permis à la marque de l'ensemble de la ligne en cliquant sur une cellule unique, mais de ne pas modifier la cellule.
Comment puis-je le faire?
OriginalL'auteur Berschi | 2009-08-25
Vous devez vous connecter pour publier un commentaire.
Selon que vous êtes tout coder ou de faire les choses dans le concepteur, ensemble
editTriggers
àQAbstractItemView::NoEditTriggers
selectionBehavior
àQAbstractItemView::SelectRows
selectionMode
àQAbstractItemView::SingleSelection
si vous souhaitez que l'utilisateur de sélectionner exactement une lignesur la tableview objet approprié appels seront préfixés avec
set
e.gsetEditTriggers()
dans le Concepteur vous pouvez trouver ces options dans leAbstractItemView
sectionOriginalL'auteur Harald Scheirich
Essayez ceci:
OriginalL'auteur shoosh
Basculer hors de la table de l'élément de
ItemIsEditable
peu. par exemple:OriginalL'auteur Rob
Idéalement, vous souhaitez utiliser:
Et ensuite créer une classe qui hérite de
QItemDelegate
comme dans cette exemple.Le montage de votre classe à avoir
retour
NULL
ou de l'utilisation:
Vous aurez aussi envie de regarder
Avec le paramètre:
QAbstractItemView::SelectRows
Pour référence:
http://doc.trolltech.com/4.5/qtableview.html
OriginalL'auteur Adam W