Есть у меня табличка в виде QTableWidget, чисто для отображение (не редактируемая).
Так получилось, что нужно вставлять в каждую строчку check box.
CheckBox у меня свой, с парой важных полей, без которых логика слишком усложниться.
В общем вставил я его в таблицу с помощью setCellWidget. Все было хорошо и прекрасно, пока не захотелось мне прикрутить логику, для которой собсно он там есть.
Суть проблемы:
когда я получаю указатель на TLCheckBox (наследуется от QCheckBox)
TLCheckBox *cb = (TLCheckBox*) cellWidget(i, 7);
и пытаюсь прочитать его состояние, или проверить isChecked, выдает хрень полную.
Пробовал делать так:
TLCheckBox *cb( qobject_cast<TLCheckBox*>(cellWidget(i, 7)) );
но тут ссылка просто NULL, хотя для в описании класса есть Q_OBJECT макрос.
В общем грусть печаль пробирает, гугл выдает 2 решения проблемы с чекбоксом в таблице,
1. использовать QTableWidgetItem::setCheckable, но это не катит никак.
2. использовать qobject_cast, но он не работает
Собсно вопрос:
кто вино..., в смысле что делать?
Как заставить работать qobject_cast?