Russian Qt Forum
Ноябрь 24, 2024, 12:54 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [решено проверкой валидатности item] QTableWidget вопрос про QTableWidgetItem  (Прочитано 3078 раз)
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
Как испавить?
« Последнее редактирование: Ноябрь 06, 2009, 14:13 от daimon » Записан
registrationfedser87
Гость
« Ответ #1 : Ноябрь 05, 2009, 13:42 »

Делай проверку на кол-во итемов(может у тебя их там вообще нет а ты ко второму итему пытаешься добраться). И ещё как вариант ты может быть неправильно устанавливаешь итем в ячеку(запости код поглядеть)
Записан
BaltikS
Гость
« Ответ #2 : Ноябрь 05, 2009, 13:50 »

А если по существу, то item-а по умолчанию в ячейке нет! Вот и вылетает прога. Как сделать, смотри примеры. Например, QTDIR/demos/spreadsheet.
« Последнее редактирование: Ноябрь 05, 2009, 18:12 от BaltikS » Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #3 : Ноябрь 05, 2009, 13:53 »

А откуда ему взятся?

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


Код
C++ (Qt)
if(spreadsheet->item(0,1) && spreadsheet->item(0,1)->text()!="")
  setWindowTitle(spreadsheet->item(0,1)->text());
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.07 секунд. Запросов: 23.