Qt: Как правильно рассчитать, какая строка имеет цвет AlternateBase? - PullRequest
0 голосов
/ 07 марта 2020

У меня есть какой-то делегат Item и метод рисования внутри. И я хватаю виджеты и помещаю их в ячейку. Но я не могу правильно рассчитать, какая строка на самом деле имеет цвет AlternateBase, а какая нет. Поскольку у меня есть скрытые строки, я не могу просто проверить, является ли строка четной или нечетной. Qt к нему, как я могу это сделать?

enter image description here

Сейчас я просто проверяю, является ли позиция в области просмотра четной .:

    void CaclControlSearchItemDelegate::paint(QPainter *painter, const         QStyleOptionViewItem &option,
const QModelIndex &index) const {

    QString bgStyle = QString("QLineEdit{ background-color: %1; border: none; }")
                      .arg(( m_tableView->rowViewportPosition(index.row()) % 2 == 0) ? bgColor.name() : QColor(Qt::white).name());

И, между прочим, если я наведу курсор на неверно уложенный цвет, цвет станет правильным!

enter image description here

1 Ответ

0 голосов
/ 08 марта 2020

Мне пришлось проверить: если (option.features & QStyleOptionViewItem :: ViewItemFeature :: Alternate) - это правильное решение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...