Название: Делегат для колонок дочерних элементов. Отправлено: Flake от Апрель 07, 2009, 12:35 Здравствуйте.
В общем код: Код
Таким образом делегат есть у всех 2ых колонок. Но он должен быть только у дочерних. Как в таком случае назначить делегат? Название: Re: Делегат для колонок дочерних элементов. Отправлено: lit-uriy от Апрель 07, 2009, 12:49 я думаю только в рукопашную, каждому элементу индивидуально.
Название: Re: Делегат для колонок дочерних элементов. Отправлено: Flake от Апрель 07, 2009, 13:31 У меня QStandardItem'ы, как к ним делегата назначить?
В общем у меня модель(QStandardItemModel) которая привязана к QTreeView. Все элементы QStandardItem. Название: Re: Делегат для колонок дочерних элементов. Отправлено: Rcus от Апрель 07, 2009, 13:48 А может стоит с другой стороны к проблеме подойти и анализировать индекс при обращении в вашем классе делегата?
Название: Re: Делегат для колонок дочерних элементов. Отправлено: Flake от Апрель 07, 2009, 13:52 Да, есть такой вариант.
Только вот проблема, есть текстовое поле, оно пустое в родительском элементе и может быть пустым/заполненным в дочернем. При обращении к классу делегату надо будет как-то идентифицировать какое это поле - родительское/дочернее. Тогда надо в элементе хранить флаг под Qt::UserRole? Я всё правильно понимаю? Название: Re: Делегат для колонок дочерних элементов. Отправлено: EhTemka от Апрель 07, 2009, 15:20 QModelIndex::parent() ?
Простая проверка на валидность : Код
Конечно если у тебя всего 2 уровня. Но даже если больше можно просто усложнить немного эту схему Название: Re: Делегат для колонок дочерних элементов. Отправлено: Flake от Апрель 08, 2009, 09:33 Спасибо.
Я реализовал всё своим методом с флагом. Идея с валидацией родителя хорошее решение, но вот вопрос: если этот делегат ещё используется для родительских элементов в других моделях у которых нет дочерних элементов. Как тогда быть? Название: Re: Делегат для колонок дочерних элементов. Отправлено: EhTemka от Апрель 08, 2009, 14:49 В таком случае у тебя всегда будет вызаватся paintParent(index, ...), собственно , то что тебе нужно, я так понимаю
|