Я использую QItemDelegate в сочетании с флажком IsUserCheckable QTableView, чтобы нарисовать центрированный столбец флажка. Все работает нормально, пока я не включил выбор строки для таблицы.Qt: Checkbox & QItemDelegate- не рисовать флажок при выборе
Когда выбор происходит, синий фон выбора - это единственное, что нарисовано, а флажки больше не видны.
Ниже приведен мой код, который я использую, чтобы нарисовать флажок внутри делегата.
void CheckboxDelegate::drawCheck(QPainter* painter, QStyleOptionViewItem const& option, QRect const& rect, Qt::CheckState state) const
{
QSize size = check(option, option.rect, Qt::Checked).size();
QRect checkboxRect = QStyle::alignedRect(option.direction, Qt::AlignCenter, size, option.rect);
QItemDelegate::drawCheck(painter, option, checkboxRect, state);
}
Любые идеи относительно того, почему это неправильно рисуется при выборе?
Вам действительно нужно разместить больше кода. Я предполагаю, что ваш заказ испорчен, и вы рисуете синий фон ** после ** вы рисуете флажок – Robert
Это единственный соответствующий код, который рисует что угодно. Я предполагаю, что проблема связана с порядком моей живописи, как вы упомянули, но я не уверен, как выполнить правильные шаги на этом этапе. Надеясь, кто-то может дать более глубокое понимание. – cweston