Bienvenue sur le forum !

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

Qt 5 : 5.8.0 - Qt Creator : 4.2.2 - Qt Installer : 2.0.3 - JOM : 1.1.2 - Qt Build suite : 1.7.0 - VS Qt 5 : 2.0.0

[Qt4] [Qt4] Empecher changement item QListWidget

Bonjour, je voudrais savoir si dans Qt il est possible de ""refuser"" le changement de sélection (un peu comme le reject de "close event").

En fait je voudrais proposer à l'utilisateur d'enregistrer des modifications avant de changer d'item.

J'arrive a récupérer le changement, mais si lorsque le user fais "annuler" je fais un setCurrentItem cela tourne en boucle...

Je peux toujours avoir un bool d'état mais sachant que Qt est plutôt bien programmer il doit être possible d'empêcher le changement d'item...

Merci de vos réponses.

Dickymoe

Réponses

  • Salut,

    disable() peut-être?
  • dickymoe51 said:
    Bonjour, je voudrais savoir si dans Qt il est possible de ""refuser"" le changement de sélection (un peu comme le reject de "close event").

    En fait je voudrais proposer à l'utilisateur d'enregistrer des modifications avant de changer d'item.

    J'arrive a récupérer le changement, mais si lorsque le user fais "annuler" je fais un setCurrentItem cela tourne en boucle...

    Je peux toujours avoir un bool d'état mais sachant que Qt est plutôt bien programmer il doit être possible d'empêcher le changement d'item...

    Merci de vos réponses.

    Dickymoe
    Le QTreeWidget hérite du QAbstractItemView, et donc tu as à ta disposition la méthode protégée virtuelle suivante:

    QItemSelectionModel::SelectionFlags QAbstractItemView::selectionCommand ( const QModelIndex & index, const QEvent * event = 0 ) const [virtual protected]

    Dans cette méthode, tu peux renvoyer QItemSelectionModel::NoUpdate; lorsque tu juges qu'on ne doit pas sélectionner un autre item.

    Bon, ça demande d'hériter de ton QTreeWidget hein. Et y'a peut-être mieux que cette méthode, mais c'est une idée à creuser.
Connectez-vous ou Inscrivez-vous pour répondre.