2017-07-16 4 views
0

Je souhaite donc empêcher certaines colonnes de permettre le glissement des événements &. Je n'ai pas été en mesure d'ajouter un eventfilter à ces colonnes. Quelqu'un avec une idée comment faire ça? J'ai un QTableView rempli d'un QStandardItemModel et mis en place pour permettre glisser & déposer.QTableView activer les colonnes Glisser & Déposer uniquement pour des colonnes spécifiques

+0

Vous pouvez fournir un [exemple minimal, complet et Vérifiable] (https://stackoverflow.com/help/mcve) – eyllanesc

Répondre

0

Vous devez savoir où la souris se trouve, et le contrôle du processus avec

setAttribute(Qt::WA_AcceptDrops, false); 
setAttribute(Qt::WA_AcceptDrops, true); 
+0

Où voulez-vous appeler setAttribute? Et la souris? – bob

0

Vous pouvez sous-classe le modèle d'une remplacer la méthode Qt :: ItemFlags QAbstractItemModel :: drapeaux (const QModelIndex & index const.

+0

Je pense que ce serait une bonne tentative mais dans mon cas j'ai activé le drag & drop pour la vue d'en-tête de la table. Donc, je ne suis pas sûr de ce que j'obtiendrais comme un QModelIndex pour les cellules de l'en-tête – bob

+0

Alors vous faites glisser et déposez les colonnes pour changer leur ordre? Je pense qu'un petit exemple de votre code pourrait être utile :) –