Название: QTableWidget - добавление строки и запись в добавленную строку значений Отправлено: BigHom от Август 02, 2013, 14:27 Есть таблица, добавляется строка и заносятся значения.
Вопрос: почему при записи значений setText(s2) - возникает ошибка? {//добавить строку int i=ui.tableWidget->rowCount( ); ui.tableWidget->insertRow(i); // добавление строк QString s2="1"; for (int j=0;j<3;j++) { (ui.tableWidget->item(i,j))->setText(s2); } } Название: Re: QTableWidget - добавление строки и запись в добавленн Отправлено: mutineer от Август 02, 2013, 14:37 на каком столбце ошибка возникает?
Тип ошибки тоже не помешает Название: Re: QTableWidget - добавление строки и запись в добавленную строку значений Отправлено: BigHom от Август 02, 2013, 14:59 При выполнении программы ,записывая в ячейку - программа вылетает. Появлется сообщение, типа : "инструкция ... обратилась по адресу 0х0000000. Память не может быть "read" ".
А если в старые ячейки записывать , то ошибка не возникает. Название: Re: QTableWidget - добавление строки и запись в добавленную строку значений Отправлено: mutineer от Август 02, 2013, 15:02 item() возвращает нормальный указатель или нулевой?
Название: Re: QTableWidget - добавление строки и запись в добавленную строку значений Отправлено: mutineer от Август 02, 2013, 15:03 Видимо добавленная строка пустая и надо использовать setItem()
Название: Re: QTableWidget - добавление строки и запись в добавленную строку значений Отправлено: BigHom от Август 05, 2013, 12:16 item возвращает нулевой указатель.
Название: Re: QTableWidget - добавление строки и запись в добавленную строку значений Отправлено: gil9red от Август 05, 2013, 15:57 Тема такая же уже поднималась =)
Перед тем как добавлять/изменять что то в таблице, нужно выделить память под это =) Простейший пример создания таблицы: Код: tableWidget = new QTableWidget(this); // создаем Если вы слишком новичек, то можно подробнее описать код: Код: // выделяем память под все ячейки таблицы Название: Re: QTableWidget - добавление строки и запись в добавленную строку значений Отправлено: BigHom от Август 09, 2013, 06:46 Тема такая же уже поднималась =) В приведённом примере создаётся новая таблица?Перед тем как добавлять/изменять что то в таблице, нужно выделить память под это =) В моём примере таблица создана с помощью QT Designer. Заранее неизвестно сколько строк , по мере работы добавляются новые строки. Каждый раз старую таблицу удалять и новую создавать? Замечено , если в указанном примере программно добавить строку и потом вручную внести значения , то ошибок не возникает. А вот если программно вносить значения, то выдаёт нулевой адрес. "tableWidget->setItem(row, column, item); // вставляем ячейку" вместо item , что подставить в моём примере ? QTableWidgetItem * k=ui.tableWidget->item(i,j); ui.tableWidget->setItem(i,j,k); (ui.tableWidget->item(--i,j))->setText(s2); - при работе выдаёт ошибку - 0-й адрес... Название: Re: QTableWidget - добавление строки и запись в добавленную строку значений Отправлено: mutineer от Август 09, 2013, 10:09 нужно создать новый QTableWidgetItem и засунуть его в ячейку
|