Russian Qt Forum
Ноябрь 26, 2024, 02:47 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Проблема с QTableWidget::cellWidget  (Прочитано 2408 раз)
vulko
Гость
« : Июнь 23, 2014, 14:32 »

Есть у меня табличка в виде 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?
Записан
vulko
Гость
« Ответ #1 : Июнь 23, 2014, 15:09 »

Туплю...

Причина оказалась банальна... чек бокс вставлен в виджет, чтобы он был по центру ячейки...
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.131 секунд. Запросов: 21.