Russian Qt Forum

Qt => Вопросы новичков => Тема начата: ruzik от Февраль 20, 2011, 14:15



Название: Нарушение прав доступа
Отправлено: ruzik от Февраль 20, 2011, 14:15
Добрый день, не поясните причину возникновения ошибки
tableWidget->item( 1, 1)->setText("sdf");
И вообще все tableWidget->item( х, у)->что-то вызывают ошибку нарушение прав доступа
Поискал в ассистенте у itema класс - QTableWidgetItem
И функция setText() публичная, сам объект QTableWidget тоже публичный(он создается в дизайнере), и поэтому не знаю какое тут может быть нарушение прав доступа, пробовал перестраивать проект-ошибка не изменилась
Заранее спасибо за помощь!


Название: Re: Нарушение прав доступа
Отправлено: BRE от Февраль 20, 2011, 15:36
Потому, что сначала этот элемент нужно создать и установить в таблицу.


Название: Re: Нарушение прав доступа
Отправлено: ruzik от Февраль 20, 2011, 15:46
Я еще в дизайнере создал таблицу 4 х 2(см скрин)


Название: Re: Нарушение прав доступа
Отправлено: BRE от Февраль 20, 2011, 15:50
Ну и что, а элементов в ней нет.
Проверь сам, посмотри что возвращает следующая конструкция:
Код
C++ (Qt)
qDebug() << tableWidget->item( 1, 1 );
 


Название: Re: Нарушение прав доступа
Отправлено: ruzik от Февраль 20, 2011, 15:59
То есть что бы элемент был, надо обязательно присутствие текста в item'e, понятно, спасибо за помощь!
Я думал что по умолчанию в ячейках QTableWidget стоит(делегирует) QLineEdit с каким-либо текстом, в том числе и нулевым, а получается что
нет, еще раз спасибо за помощь!!