Russian Qt Forum

Qt => Вопросы новичков => Тема начата: МП© от Март 16, 2012, 16:46



Название: В чем м.б. ошибка? QTableWidget
Отправлено: МП© от Март 16, 2012, 16:46
таблица QTableWidget
14 строк
9 столбцов
прописываю текст
Код
C++ (Qt)
ui->table->item(8,1)->setText("text");
 
все хорошо вставляется,
а если прописываю текст в
Код
C++ (Qt)
ui->table->item(9,1)->setText("text");
 
то пишет: "Программа неожиданно завершилась" "exe завершился с кодом 0"
В чем может быть ошибка?

PS до 8 строки все прекрасно заполняется, а после 9 - нет


Название: Re: В чем м.б. ошибка? QTableWidget
Отправлено: mutineer от Март 16, 2012, 16:47
может item() возвращает 0?


Название: Re: В чем м.б. ошибка? QTableWidget
Отправлено: МП© от Март 16, 2012, 16:53
как это проверить? и почему должен 0 возвращать?


Название: Re: В чем м.б. ошибка? QTableWidget
Отправлено: kambala от Март 16, 2012, 17:10
как это проверить?
Код
C++ (Qt)
Q_ASSERT(ui->table->item(9,1) != 0);
и почему должен 0 возвращать?
если память под ячейку не была выделена


Название: Re: В чем м.б. ошибка? QTableWidget
Отправлено: mutineer от Март 16, 2012, 17:18
как это проверить? и почему должен 0 возвращать?

По документации он может вернуть 0


Название: Re: В чем м.б. ошибка? QTableWidget
Отправлено: maint от Март 16, 2012, 18:05
отсчёт в С/С++  9 столбцов идет по индексу от 0 до 8.


Название: Re: В чем м.б. ошибка? QTableWidget
Отправлено: V1KT0P от Март 16, 2012, 18:39
отсчёт в С/С++  9 столбцов идет по индексу от 0 до 8.
Код
C++ (Qt)
QTableWidgetItem * QTableWidget::item ( int row, int column ) const
Первый индекс - строка, второй колонка. А строк у автора 14. Хотя может при создании попутал местами количество строк и столбцов.