QTreeWidget - inny kolor focusa na kolumnie

0

Tak jak w tytule, czy da się zmienić focus tak żeby zaznaczona kolumna miała np. czerwony focus, a pozostały wiersz niebieski??

0

dziedziczysz po QStyledItemDelegate
i zmieniasz odrobinę metodę QStyledItemDelegate::paint

void TwojItemDelegate::paint(QPainter * painter, const QStyleOptionViewItem & option, const QModelIndex & index) const
{
      QStyleOptionViewItem newOption = option;
      if (twojWarunekNaKomorke(index))
      {
            newOption.palette.setBrush(QPalette::Highlight, Qt::red);
            newOption.palette.setBrush(QPalette::HighlightedText, Qt::yellow);
      }
      QStyledItemDelegate::paint(painter, newOption, index);
}

A potem to tyko formalność, trzeba ustawić tego delegata na widoku:

void MainWIndow::SetupItemView()
{
    ui->tableView->setDelegate(new TwojItemDelegate(ui->tableView));
}

I to tyle. Istotnego kodu zaledwie 4-6 linijek reszta to tylko dekoracja.

1 użytkowników online, w tym zalogowanych: 0, gości: 1