LINUX.ORG.RU

QTreeView, обновление при изменении данных

 , ,


1

1

Привет.
Есть модель, которую отображает QTreeView. При изменении данных как и полагается испускается dataChanged(), QTreeView не перерисовывается сразу же (т.е. обновлённых данных не видно)q, а только когда нажмёшь мышой на любую область QTreeView.
Кто-нибудь сталкивался с подобным?

P.S.: описанное поведение на Qt 4.7.4. Только что проверил на Qt 4.8.2 нажимать на TreeView на надо, достаточно провести мышой в область TreeView, тогда значение обновится )

★★★★★

Последнее исправление: UVV (всего исправлений: 1)
Ответ на: комментарий от yoghurt

QModelIndex-ы в dataChanged() точно корректные, а не абы какие?

По-любому, только что проверил.

UVV ★★★★★
() автор топика

описанное поведение на Qt 4.7.4. Только что проверил на Qt 4.8.2 нажимать на TreeView на надо, достаточно провести мышой в область TreeView, тогда значение обновится )

Ну события на перерисовку может сделаны немного по другому. Водя или нажимая мышкой ты заставляешь все что можно обновиться.

Показывай код, по фотографии ставить диагноз сложно.

grondek
()
Ответ на: комментарий от UVV

По-любому, только что проверил.

Значит метод parent кривой и дерево не может найти этот элемент у себя.

anonymous
()

Больше похоже на баг WM или иксов.

E ★★★
()

Отбой посоны. Было так:

   emit dataChanged(index, index);
Стало так и заработало =)
   QModelIndex valueIndex = this->index(index.row(), 1, index.parent());
   emit dataChanged(index, valueIndex);

UVV ★★★★★
() автор топика
Ответ на: комментарий от grondek

Вот нафига тему по каждому мелкому косяку создавать?

Долго искал косяк просто.

UVV ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.