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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: getIndexForData()  (Прочитано 2893 раз)
UVV
Гость
« : Август 20, 2014, 23:59 »

Привет.
Делаю вот такой вот метод:
Код:
QModelIndex MyModel::getIndexForData(const QString& data)
{
   QModelIndex index;

   // search in internal data
   int listIndex = myList.indexOf(data);
   if (-1 != listIndex) {
      index = createIndex(listIndex, 0, DataItem);
   }

   return index;
}

Т.е. по сути createIndex уже вызывался для этих данных, когда они были добавлены в модель. Безопасно ли повторное использование createIndex в этом случае или есть другой способ вернуть индекс по данным?
Записан
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #1 : Август 21, 2014, 07:32 »

А в чем проблема? Хоть тыщу раз вызови этот createIndex.
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
UVV
Гость
« Ответ #2 : Август 21, 2014, 08:38 »

А в чем проблема? Хоть тыщу раз вызови этот createIndex.
Проблемы нет, хотел уточнить можно ли так делать несколько раз для одной и той же строчки )
« Последнее редактирование: Август 21, 2014, 09:08 от Vyacheslav Yurkov » Записан
Fregloin
Супер
******
Offline Offline

Сообщений: 1025


Просмотр профиля
« Ответ #3 : Август 24, 2014, 09:13 »

ну а как иначе, вы передаете копию индекса, который потом удалится, при вызове вашей функции создаете каждый раз новый индекс. Раньше я делал через ссылки, но напоролся на грабли, теперь возвращаю копии. Так безопаснее, хотя может не так эффективнее.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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