QTreeView не обновлял данные при отправке dataChanged - PullRequest
0 голосов
/ 29 декабря 2018

У меня очень странная проблема.Может ли кто-нибудь помочь мне выйти из этого?Заранее спасибо.

У меня есть QTreeview, который показывает данные из сокета и использует собственный QAbstractItemModel;Когда данные поступают, dataChanged испускается.И в методе данных моей модели элементов я записываю информацию журнала qDebug.Сокет работает в отдельном потоке.

Странная вещь заключается в том, что, если я устанавливаю точку останова в методе данных модели, то выполняется метод, и ячейка QTreeView обновляется.Но если в методе данных нет точек останова, метод, кажется, не вызывается (запись в журнал не выполняется из qDebug), а ячейка не обновляется.

Я полагаю, это связано с потоком, но я не знаючто это такое.Любая помощь будет принята с благодарностью.

Ответы [ 2 ]

0 голосов
/ 30 декабря 2018

Только что определили корень проблемы: родители подузлов не верны.Спасибо всем вам, ребята.С новым годом !!!

0 голосов
/ 29 декабря 2018

Возможно, вы забыли обновить свой QTreeView, в случае точки останова это событие происходит автоматически, но без него вы должны обновить QTreeView или его родительский виджет в программе.

...