Название: QTableWidgetItem Отправлено: zoro86 от Декабрь 29, 2009, 16:01 Кто сталкивался с такой проблемой:
У меня в QTableWidget добавляется ячейка: tableWidgetItem = new QTableWidgetItem(); tableWidgetItem->setSelected(false); tableWidgetItem->setBackground(QColor(248,248,248,255)); tableWidgetItem->setIcon(QIcon(QString(":/images/status/printer.png"))); tableWidgetItem->setToolTip(QString("Распечатать чек")); tableWidgetItem->setTextAlignment(3); tableWidget->setItem(kooki,7,tableWidgetItem); так вот при двойном щелчке прога вываливается и пишет... Segmentation fault скорее всего из за того что там иконка... так вот есть ли какой метод чтобы запретить редактирование QTableWidgetItem...???? Название: Re: QTableWidgetItem Отправлено: zoro86 от Декабрь 29, 2009, 16:42 Он отваливается именно когда я в слоте на двойной щелчек пишу...
int row = item->row(); if (Debuger) qDebug() << row; QTableWidgetItem *curitem = tableWidget->takeItem(row,6); QString idTrn = curitem->text(); if (Debuger) qDebug() << idTrn; Название: Re: QTableWidgetItem Отправлено: Dendy от Декабрь 29, 2009, 16:46 QTableWidgetItem * QTableWidget::takeItem ( int row, int column )
Removes the item at row and column from the table without deleting it. Вам действительно нужно удалять ячейку из таблицы? Название: Re: QTableWidgetItem Отправлено: Vass от Декабрь 29, 2009, 16:49 проверьте существование curitem перед ее использованием.
и выложите плз backtrace по сегфолту Название: Re: QTableWidgetItem Отправлено: zoro86 от Декабрь 29, 2009, 16:50 не удалять не надо .. я проста на печать отправляю чек...
вообщем сделал так .. int row = item->row(); if (Debuger) qDebug() << row; QTableWidgetItem *curitem = tableWidget->takeItem(row,6); QString idTrn = curitem->text(); QTableWidgetItem *curitemNew = new QTableWidgetItem(idTrn); tableWidget->setItem(row,6,curitemNew); if (Debuger) qDebug() << idTrn; сначала считываю а потом кладу.... так он при следующем двойном щелчке не отваливается ::) Название: Re: QTableWidgetItem Отправлено: Dendy от Декабрь 29, 2009, 16:56 Вам нужно просто ->takeItem() заменить на ->item()
Название: Re: QTableWidgetItem Отправлено: zoro86 от Декабрь 30, 2009, 06:53 Спс ... вечно у меня все через #опу ;D
|