QTreeview детей индикаторы перекрасить

Добрый день, у меня есть QTreeView и некоторые фоновые потоки, а не GUI-потоки, добавляемые в элементы модели, проблема в том, что при отображении моего дочернего индикатора представления не перерисовывается, но они существуют (если вы нажимаете на место, где они разместили развернутый узел), я испускать сигнал dataChange, но мои дети-индикатор не перекрашиваются.

Что я делаю неправильно?
Это код в фоновом потоке, который я называю:

void notify()
{
if (file_item_type::parent())
{
file_item_type::parent()->notify(this);
}
file_item_type::filesystem_type::s_notify.dataChange(this);
}

тогда в модели

void FileItemModel::dataChangeItem(void *it)
{
file_item_type *item = static_cast<file_item_type*>(it);
if(item&&isWatchedDir(item))
{
int row = indexOfChild(item);
if (row>=0)
{
QModelIndex indexT = createIndex(row, eDC_Name, item);
QModelIndex indexL = createIndex(row, eDC_Size, item);
emit dataChanged(indexT,indexL);
}
}
}

и после этого я ловлю dataChanged сигнал в модели прокси

void FileProxyTreeModel::sourceDataChanged( const QModelIndex& from,
const QModelIndex& to )
{
emit dataChanged( mapFromSource( from ), mapFromSource( to ) );
}

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]