crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Работ с элементами модели - неужели цикл?
shamanix
  опции профиля:
сообщение 10.3.2010, 13:00
Сообщение #1


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 10.3.2010
Пользователь №: 1522

Спасибо сказали: 0 раз(а)




Репутация:   0  


Добрый день. Задача тривиальная - сделать QListView с чекбоксами. Я так понял что один единственный способ это сделать это для каждого элемента модели устанавливать флаги? В цикле? Гугл перерыл в поисках чего-нибудь типа model->getItems().setFlags(...); но нашел только обращение к каждому элементу в цикле...может не допонял сути истинной.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
DIMEDROLL
  опции профиля:
сообщение 10.3.2010, 13:29
Сообщение #2


Участник
**

Группа: Участник
Сообщений: 165
Регистрация: 28.9.2008
Из: Киев
Пользователь №: 304

Спасибо сказали: 23 раз(а)




Репутация:   0  


Цитата(shamanix @ 10.3.2010, 12:00) *
Добрый день. Задача тривиальная - сделать QListView с чекбоксами.

Какой класс ты используешь в качестве модели?

Нужно отнаследоваться от него и переопределить flags:

Цитата
Qt::ItemFlags QAbstractItemModel::flags ( const QModelIndex & index ) const [virtual]


что бы в добавок к дефолтным флагам, возвращал так же:
Qt::ItemIsUserCheckable

Не проверял в коде, попробуй и напиши вышло аль нет :)
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
shamanix
  опции профиля:
сообщение 11.3.2010, 20:48
Сообщение #3


Студент
*

Группа: Новичок
Сообщений: 17
Регистрация: 10.3.2010
Пользователь №: 1522

Спасибо сказали: 0 раз(а)




Репутация:   0  


Цитата(DIMEDROLL @ 10.3.2010, 13:29) *
Цитата(shamanix @ 10.3.2010, 12:00) *
Добрый день. Задача тривиальная - сделать QListView с чекбоксами.

Какой класс ты используешь в качестве модели?

Нужно отнаследоваться от него и переопределить flags:

Цитата
Qt::ItemFlags QAbstractItemModel::flags ( const QModelIndex & index ) const [virtual]


что бы в добавок к дефолтным флагам, возвращал так же:
Qt::ItemIsUserCheckable

Не проверял в коде, попробуй и напиши вышло аль нет :)


попробовал - не вышло
Раскрывающийся текст

class MyModel : public QStandardItemModel{
Qt::ItemFlags flags(const QModelIndex & index ) const{
return Qt::ItemIsUserCheckable | QStandardItemModel::flags(index);
}

};

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QListView list;
MyModel model;
QStandardItem item;

item.setText("Test row");
model.appendRow(&item);

list.setModel(&model);
list.show();
return a.exec();
}
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


3 чел. читают эту тему (гостей: 3, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 28.12.2024, 14:55