Russian Qt Forum

Qt => Model-View (MV) => Тема начата: Icoz от Октябрь 04, 2007, 22:20



Название: [qt4.3.1] Глюк или кривые руки? QTreeView+Model
Отправлено: Icoz от Октябрь 04, 2007, 22:20
Проблема следующая. При добавлении к итему ПЕРВОГО потомка не появляется плюсик.
Код:
void Model::AddItem(QString data, QModelIndex &parent, QString content)
{
beginInsertRows(parent, itemFromIndex(parent)->children.size(), itemFromIndex(parent)->children.size());
AddItem(data, itemFromIndex(parent),content);
endInsertRows();
emit dataChanged(parent,parent);
}
Плюсик появится только если передвинуть выделение на другой итем.
Что интересно, если у итема (в раскрытом состоянии) удалить всех потомков, а потом опять добавить первый, то плюсик будет! И более того, итем так и останется открытым!

ЗЫ. Можно было бы в проге пытаться развернуть итем, но эта инфа храниться не в модели, а в трии-вью. :( Но это уже шаманство...


Название: Re: [qt4.3.1] Глюк или кривые руки? QTreeView+Model
Отправлено: Dodge от Октябрь 05, 2007, 12:55
Похоже на баг, пиши баг репорт.


Название: Re: [qt4.3.1] Глюк или кривые руки? QTreeView+Model
Отправлено: Icoz от Октябрь 05, 2007, 19:51
Отправил, ждем-с ответа. :)


Название: Re: [qt4.3.1] Глюк или кривые руки? QTreeView+Model
Отправлено: Icoz от Октябрь 05, 2007, 21:37
Теперь это баг #182004


Название: Re: [qt4.3.1] Глюк или кривые руки? QTreeView+Model
Отправлено: Icoz от Октябрь 23, 2007, 17:33
Пришел ответ:
Цитировать
I am terribly sorry for this late reply, please accept my apologies for
this inconvenience.
What you need to add in your code to make it work as expected is to emit
the layoutChanged() signal in the following function implementation:

NotesModel::AddNote(QString name, QModelIndex &parent, QString content)

Try following the above approach and see how it works for you.

Kind regards,
Petref

--
Petref Saraci
Support Engineer
Trolltech ASA, Oslo - http://www.trolltech.com
Если по-русски и покороче:
Нужно делать emit layoutChanged()


Название: Re: [qt4.3.1] Глюк или кривые руки? QTreeView+Model
Отправлено: ритт от Октябрь 23, 2007, 19:04
Task id 182004 not found

пофиксить не обещали? или выделили другой ид?


Название: Re: [qt4.3.1] Глюк или кривые руки? QTreeView+Model
Отправлено: Icoz от Октябрь 24, 2007, 14:31
Ну, ко мне приходили письма с темой "Re: [Issue N182004] QTreeView + custom Model"!
Про баг-фиксы и слова не было. Просто комментарий, как мне это надо делать. Может это просто недостаток документации...
Но про это не было написано ни у Шлее, ни у Бланшет. Вряд ли они не сталкивались с такой фичей.