Par défaut, un QTreeWidget
gère la sélection des lignes (lorsque vous cliquez sur une ligne, il met en évidence, lorsque vous cliquez sur une autre ligne, il met en évidence cela et désélectionne la ligne précédente), je ne veux pas cela et Je n'arrive pas à comprendre comment l'éteindre.QTreeWidget désactiver la sélection
1
A
Répondre
3
Vous pouvez utiliser setSelectionMode
de la classe QAbstractItemView
(dont QTreeWidget
est hérité de) pour définir aucun mode de sélection sur le composant. Quelque chose comme ça (désolé, le code en C++):
yourtreeView->setSelectionMode(QAbstractItemView::NoSelection);
Dans ce cas les éléments de ne être sélectionné, mais vous pourrez toujours voir rectangle de focus autour d'eux. Pour corriger cela, vous pouvez configurer votre widget pour ne pas accepter le focus en appelant:
yourtreeView->setFocusPolicy(Qt::NoFocus);
si votre widget arbre doit accepter le focus, mais ne doit pas être dessiner des rectangles de focus vous pouvez utiliser délégué d'élément personnalisé et supprimer State_HasFocus
état de l'élément de état avant de le dessiner. Quelque chose comme ceci:
class NoFocusDelegate : public QStyledItemDelegate
{
protected:
void paint(QPainter* painter, const QStyleOptionViewItem& option, const QModelIndex& index) const;
};
void NoFocusDelegate::paint(QPainter* painter, const QStyleOptionViewItem & option, const QModelIndex &index) const
{
QStyleOptionViewItem itemOption(option);
if (itemOption.state & QStyle::State_HasFocus)
itemOption.state = itemOption.state^QStyle::State_HasFocus;
QStyledItemDelegate::paint(painter, itemOption, index);
}
....
NoFocusDelegate* delegate = new NoFocusDelegate();
yourtreeView->setItemDelegate(delegate);
Questions connexes
- 1. QTreeWidget: désactiver une ligne mais pas la sous-arborescence
- 2. Qt QTreeWidget preserve sort
- 3. Désactiver le multi-sélection?
- 4. QtPython Qtreewidget Problème
- 5. désactiver la sélection de texte dans gwt
- 6. WPF Toolkit Datagrid - comment désactiver la sélection?
- 7. UIPickerView désactiver la sélection de ligne
- 8. comment désactiver la sélection automatique de MobileSafari?
- 9. Désactiver la sélection de texte UITextView
- 10. Désactiver la sélection d'un seul UITableViewCell
- 11. UITextView désactiver la sélection de texte
- 12. jQuery datepicker, désactiver mois sélection
- 13. Icône cliquez sur Qt QTreeWidget
- 14. QTreeWidget activer des signaux d'article
- 15. Qt Python: Problème QTreeWidget enfant
- 16. Silverlight RichTextBox Désactiver la sélection de la souris
- 17. Désactiver complètement la mise en surbrillance d'Android GridView (désactiver la sélection)
- 18. Désactiver la fonctionnalité CheckBox à sélection multiple dans un ListView?
- 19. désactiver la "sélection de bloc" sur un iPhone
- 20. désactiver la sélection de texte tout en appuyant sur «shift»
- 21. Désactiver la sélection de texte dans l'interface graphique QT/WebKit
- 22. Activer/Désactiver les autres éléments en fonction de la sélection
- 23. WPF Désactiver la sélection d'un élément sur MouseMove d'un ListBox
- 24. Impossible de désactiver la sélection vide dans un IKImageBrowserView
- 25. Désactiver la sélection de lignes dans un datagridview
- 26. comment désactiver la sélection d'image en utilisant jQuery?
- 27. Comment désactiver la sélection de texte avec CSS ou JavaScript?
- 28. Comment désactiver temporairement la sélection de texte en utilisant JavaScript?
- 29. Suppression de lignes de QTreeWidget (programmation qt)
- 30. Appel du menu contextuel dans QTreeWidget
Merci beaucoup, je me suis perdu avec setSelectionModel(), ne pensais pas que je trouverais la réponse dans QAbstractItemView des thats fo sûr, merci Serge. – spearfire