Bienvenue sur le forum !

Si vous souhaitez rejoindre la communauté, cliquez sur l'un de ces boutons !

Qt 5 : 5.9.1 - Qt Creator : 4.4.0 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

QListView non éditable

December 2009 modifié dans Année 2009
Bonjour, ce que je recherche est dans le titre.

J'ai actuellement une QListView remplie par un QSqlTableModel d'environ 8000 lignes. Deux problèmes se posent :

Premièrement, je n'ai pas réussi à empecher l'édition de cette liste. Il y a bien des EditStrategy pour le modèle mais rien pour empêcher cette édition. Ou alors je me trompe peut être de widget.

Enfin, la scrollbar n'est pas à la bonne taille à l'ouverture de la liste. Elle se rétrécie un peu lorsque on arrive en bas de la liste (à 255 éléments) mais il faut redescendre encore pour avoir un peu plus de la liste, relacher pour que la scrollbar remonte un peu, puis redescendre,... et ainsi de suite. Peut on y remédier ?

EDIT : J'ai résolu mon problème d'édition en remplaçant QSQlTableModel par QSqlQueryModel


Merci

Réponses

  • December 2009 modifié
    Pour ton premier problème, la solution n'est elle pas avec QAbstractItemView::NoEditTriggers pour empêcher la modifications des items ? Après, tu peux jouer sur la séléction possible ou non des items avec QAbstractItemView::NoSelection
  • December 2009 modifié
    Merci, j'avais pas fouillé toutes les propriétés héritées mais c'est parfait ça. Reste plus que le premier problème mais là j'ai plus de mal à trouver.

    EDIT : J'ai cherché comment faire pour remplacer une colonne de mon Qtreeview booléenne par des checkboxs. Apparemment il faudrait un QtreeWidget. Quelle est la différence avec un QTreeView ?

    Merci
  • Bonsoir,
    Guilo said:
    Apparemment il faudrait un QtreeWidget. Quelle est la différence avec un QTreeView ?
    La classe QTreeWidget hérite de la QTreeView. En faisant un parallèle avec la classe QTableWidget et QTableView, tu as plus de méthodes et signaux ==> plus de facilités pour dialoguer ou modifier les items.
  • Le QTreeWidget est dédié à des cas simples de liste. Il ne nécessite pas de modèle, les éléments sont directement intégrés.
  • J'ai réussi à obtenir des Qcheckbox dans les deux dernières colonnes mais le programme est alors très lent, certainement du fait de l'absence d'un modèle. Serait il possible d'utiliser des items et leurs flags dans un model pour qtreeview. A moins que l'on puisse mettre un modèle sur un qtreewidget (mais j'ai pas trouvé).

    Merci
Connectez-vous ou Inscrivez-vous pour répondre.