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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Установка элементов в динамически создаваемую модель  (Прочитано 4259 раз)
Karl-Philipp
Гость
« : Январь 12, 2008, 19:07 »

Всем привет, я использую Qt 4.2.3 и компилятор VC++.

У меня такая задача:  Есть таблица, в основе которой лежит динамически создаваемая модель. В модель (QStandardItemModel) нужно поместить элементы QStandardItem со значениями.

Код:
...
QStandardItemModel* model = new QStandardItemModel;
QTableView table;
table.setModel(model);
QList<QStandardItem *> itemList;

for(int i=0;i<5;i++)
{
  QStandardItem* item = new QStandardItem;
  item->setData( QVariant( data ));
  itemList.push_back( item );
}

  model->appendColumn( itemList );
  model->setHeaderData(0, Qt::Horizontal, QVariant("column1"));
...

Самое интересное то, что создается столбец с ячейками и с хедером, но без значений, которые пытаюсь установить.
Уточните, пожалуйста, где в приведенном коде делается что-то не так?

Попробовал переделать.
Cоздал модель с элементами, а потом "вытягивал" из нее индексы элементов и уже для них(индексов) делал setData. Получилось. 
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Январь 12, 2008, 20:00 »

Нужно сделать так:

item->setData( QVariant(i), Qt::DisplayRole );

или юзать item->setText

По умолчанию, втором параметром для setData выступает Qt::UserRole + 1
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Karl-Philipp
Гость
« Ответ #2 : Январь 12, 2008, 20:13 »

Спасибо большое!
Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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