Доброго времени суток.
Проблема в принципе изъезжена, но долго копался сам перед тем как задать вопрос.
Значит имеем
QTableWidget и несколько колонок (не важно сколько). В двух (или более) колонках CheckBox'ы.
Надо:
1. Заменить индикаторы CheckBox'ов на свои.
2. Убрать рамку пунктирную при выделении.
3. В разных колонках должны быть разные индикаторы (на каждую колонку необходимо настроить свой индикатор).
Решения:
1. Индикатор CheckBox'а в QTableWidget меняется в CSS:
QTableWidget::indicator:checked
{
image: url(:/SubControls/checkbox_checked.png);
}
QTableWidget::indicator:unchecked
{
image: url(:/SubControls/checkbox_unchecked.png);
}
Результат: Это решает только часть проблемы, так как во всех колонках индикаторы одинаковые, что не совсем подходит.
2. Дальше следую инструкции:
http://developer.qt.nokia.com/faq/answer/how_can_i_remove_the_dotted_rectangle_from_the_cell_that_has_focus_in_my_qtПосле
setItemDelegate() Результат: Рамка убирается, но вместе с ней пропадают замененные индикаторы, и отображаются стандартные.
3. Касательно третьего вопроса, вообще не знаю в какую сторону копать. Тем более, что видимо необходим другой способ решения либо первой проблемы либо второй, так как совместно оба решения ведут себя не так как необходимо.
Повторюсь, я потратил не мало времени в поисках решения этих проблем в совокупности (по отдельности проблемы решаются и примеров достаточно).
Спасибо за советы.