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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [qt4.3.1] Глюк или кривые руки? QTreeView+Model  (Прочитано 6748 раз)
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);
}
Плюсик появится только если передвинуть выделение на другой итем.
Что интересно, если у итема (в раскрытом состоянии) удалить всех потомков, а потом опять добавить первый, то плюсик будет! И более того, итем так и останется открытым!

ЗЫ. Можно было бы в проге пытаться развернуть итем, но эта инфа храниться не в модели, а в трии-вью. Грустный Но это уже шаманство...
Записан
Dodge
Гость
« Ответ #1 : Октябрь 05, 2007, 12:55 »

Похоже на баг, пиши баг репорт.
Записан
Icoz
Гость
« Ответ #2 : Октябрь 05, 2007, 19:51 »

Отправил, ждем-с ответа. Улыбающийся
Записан
Icoz
Гость
« Ответ #3 : Октябрь 05, 2007, 21:37 »

Теперь это баг #182004
Записан
Icoz
Гость
« Ответ #4 : Октябрь 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()
Записан
ритт
Гость
« Ответ #5 : Октябрь 23, 2007, 19:04 »

Task id 182004 not found

пофиксить не обещали? или выделили другой ид?
Записан
Icoz
Гость
« Ответ #6 : Октябрь 24, 2007, 14:31 »

Ну, ко мне приходили письма с темой "Re: [Issue N182004] QTreeView + custom Model"!
Про баг-фиксы и слова не было. Просто комментарий, как мне это надо делать. Может это просто недостаток документации...
Но про это не было написано ни у Шлее, ни у Бланшет. Вряд ли они не сталкивались с такой фичей.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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