Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: daimon от Ноябрь 05, 2009, 13:38



Название: [решено проверкой валидатности item] QTableWidget вопрос про QTableWidgetItem
Отправлено: daimon от Ноябрь 05, 2009, 13:38
  spreadsheet = new Spreadsheet; //мой класс QTableWidget
   spreadsheet->setRowCount(5);
   spreadsheet->setColumnCount(5);
   spreadsheet->setItem(0,0,"10");//переопределил в своем классе

   if(spreadsheet->item(0,1)->text()!="")
   setWindowTitle(spreadsheet->item(0,1)->text());

Ошибка, вылетает прога из-за того что нет item-a
Как испавить?


Название: Re: QTableWidget вопрос про QTableWidgrtItem
Отправлено: registrationfedser87 от Ноябрь 05, 2009, 13:42
Делай проверку на кол-во итемов(может у тебя их там вообще нет а ты ко второму итему пытаешься добраться). И ещё как вариант ты может быть неправильно устанавливаешь итем в ячеку(запости код поглядеть)


Название: Re: QTableWidget вопрос про QTableWidgrtItem
Отправлено: BaltikS от Ноябрь 05, 2009, 13:50
А если по существу, то item-а по умолчанию в ячейке нет! Вот и вылетает прога. Как сделать, смотри примеры. Например, QTDIR/demos/spreadsheet.


Название: Re: QTableWidget вопрос про QTableWidgrtItem
Отправлено: pastor от Ноябрь 05, 2009, 13:53
А откуда ему взятся?

1) Либо добавляй итем сам
2) Либо делай проверку на валидность итема


Код
C++ (Qt)
if(spreadsheet->item(0,1) && spreadsheet->item(0,1)->text()!="")
  setWindowTitle(spreadsheet->item(0,1)->text());