QTreeView отключить подсветку при наведении строки
2 ответа
Решение
tView->setStyleSheet("QTreeView::item:hover{background-color:rgb(255,255,255);}");
Вы можете сделать это делегатом:
#include <QStyledItemDelegate>
class NoHighlightDelegate:public QStyledItemDelegate{
public:
void initStyleOption(QStyleOptionViewItem*option,const QModelIndex&viewIndex)const override{
QStyledItemDelegate::initStyleOption(option,viewIndex);
option->state&=~QStyle::State_MouseOver;}
};
Затем установите этого делегата на свой
QTreeView
:
//QTreeView*view;
auto*delegate=new NoHighlightDelegate();
delegate->setParent(view);
view->setItemDelegate(delegate);
И вы не попадете в проблему скрытой выделенной линии.