Название: Проблема с QTable (Qt 3.3.3) Отправлено: Martiro от Октябрь 25, 2007, 16:19 Вставляю в таблицу Чекбоксы:
Код: ... теперь делаю кнопку, при нажатии которой отмечаются все чекбоксы: Код: ... почему checkBx не присваивается элемент из таблицы (chb)? может кто-нибудь подскажет как сделать? Пробовал с QCheckTableItem, тоже не могу разобраться как отмечать элементы в строках... Элементы создаю, а указатель на них найти не могу. ОС МСВС, QT 3.3.3 Название: Re: Проблема с QTable (Qt 3.3.3) Отправлено: pastor от Октябрь 25, 2007, 16:23 Вместо (это явный бред, ты создаешь новый виджет и для него устанавливаешь парент виждет из ячейки(i,0). Таким образом ты не обратишься к виджету в ячейке)
Код: for (int i=0; iNumRows; ++i) напиши Код: for (int i=0; iNumRows; ++i) Название: Re: Проблема с QTable (Qt 3.3.3) Отправлено: Martiro от Октябрь 25, 2007, 16:37 а что такое "qobject_cast"? при компиляции ругается...
(QT 3.3.3) Название: Re: Проблема с QTable (Qt 3.3.3) Отправлено: Martiro от Октябрь 25, 2007, 17:23 разобрался... надо писать:
Код: ... pastor, огромное спасибо за помощь!!! Название: Re: Проблема с QTable (Qt 3.3.3) Отправлено: pastor от Октябрь 25, 2007, 17:43 а что такое "qobject_cast"? при компиляции ругается... (QT 3.3.3) Упс, забыл, это из Qt4 ))) Замени его на ::qt_cast Цитировать Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns 0. The class T must inherit (directly or indirectly) QObject and be declared with the Q_OBJECT macro. Название: Re: Проблема с QTable (Qt 3.3.3) Отправлено: Примерный ученик от Август 02, 2008, 12:18 У меня QT3.3.8
Код: QComboTableItem * cBx =((QComboTableItem *)(table5->cellWidget(2,0))); ни к чему не приводит, т.к. физически ячейки еще нет!!! cBX=0; Как активировать ячейку (хочу поменять текущий выбранный) ??? Название: Re: Проблема с QTable (Qt 3.3.3) Отправлено: pastor от Август 02, 2008, 12:27 У меня QT3.3.8 Код: QComboTableItem * cBx =((QComboTableItem *)(table5->cellWidget(2,0))); ни к чему не приводит, т.к. физически ячейки еще нет!!! cBX=0; Как активировать ячейку (хочу поменять текущий выбранный) ??? 1. cellWidget возвращает указатель на QWidget. А вы приводите к QComboTableItem, который ничего общего с QWidget неимеет. 2. Если cellWidget возвращает 0, значит виджет не установлен для данной ячейки. Для ясности покажите код как вы заполняете таблицу. Название: Re: Проблема с QTable (Qt 3.3.3) Отправлено: Примерный ученик от Август 02, 2008, 12:37 Код: QStringList cC; Название: Re: Проблема с QTable (Qt 3.3.3) Отправлено: pastor от Август 02, 2008, 19:24 Если задача требует работы с виджетом непосредственно, юзай пару cellWidget\setCellWidget. Если нужна работа с итемами, юзай пару item\setItem
Название: Re: Проблема с QTable (Qt 3.3.3) Отправлено: Примерный ученик от Август 08, 2008, 19:53 Что то сайт долго висел >:(
Мне подошла пара cellWidget\setCellWidget. Спасибо за консультацию :D |