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

- Rejestracja:ponad 17 lat
- Ostatnio:minuta
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.
edytowany 1x, ostatnio: MarekR22
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.