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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Экземляр класса QTableWidget как проверить, пусто ли в ячейке?  (Прочитано 8149 раз)
fisenkdima
Гость
« : Октябрь 31, 2012, 16:21 »

Столкнулся со следующей проблемой:
На форме имеется таблица, являющаяся экземпляром класса QTableWidget.
Если в ее ячейки не вводились значения (в этом случае значения text не инициализированы?), то при попытке получить значение item(j,i)->text() любой из них программа крашится. Как проверить, пуста ли ячейка?
Какой-нибудь из вариантов ниже правилен?
Код:
if (ui->inputTable->item(j,i)->text().isEmpty()) qDebug()<<"пусто";
if (ui->inputTable->item(j,i)->text()==NULL) qDebug()<<"NULL";
if (ui->inputTable->item(j,i)->text().count()==0) qDebug()<<"count()=0";
Записан
mutineer
Гость
« Ответ #1 : Октябрь 31, 2012, 16:22 »

ui->inputTable->item(j,i) == 0
Записан
fisenkdima
Гость
« Ответ #2 : Октябрь 31, 2012, 16:27 »

Спасибо. Я проверил - заработало.
И, если не долго, вы не могли бы объяснить, почему мы проверяем значение item, а не text?
Записан
mutineer
Гость
« Ответ #3 : Октябрь 31, 2012, 16:30 »

Цитировать
QTableWidgetItem * QTableWidget::item ( int row, int column ) const
Returns the item for the given row and column if one has been set; otherwise returns 0.

Потому что прежде всего item() может вернуть 0, если в ячейку ничего не установлено
Записан
fisenkdima
Гость
« Ответ #4 : Октябрь 31, 2012, 16:31 »

Мда. Мне определенно надо учиться эффективно пользоваться документацией -_-
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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