2015-10-07 4 views
0

Я пишу приложение регистрации, которое использует QListView с настраиваемыми QStandardItems для отображения данных журнала. Я применил фильтры в приложении, которые будут окрашивать соответствующие строки по-разному, и при смене фильтра я должен манипулировать каждым элементом в списке, который через некоторое время становится очень медленным. Я не уверен, что вызывает это, но мне интересно, может ли это быть, что он реплицируется после изменения каждого элемента. Если это так, могу ли я как-то сказать QT не перерисовывать, пока не закончу манипулирование всеми элементами?Оптимизация обновления QListView

Спасибо за помощь!

+0

Сколько предметов требуется для медленного? Вы также можете показать некоторый код (поскольку вы запрашиваете помощь по оптимизации) –

+0

Возможно> 10.000. Но я думаю, что решил это сейчас. Я использовал рабочий поток, который сделал это обновление и сделал графический интерфейс гораздо более отзывчивым. – UglyBob

+0

Хорошо. Надеюсь, вы на самом деле не делаете вызовы Qt GUI из рабочего потока. Это приведет к случайным segfaults. –

ответ

0

Для того, чтобы помочь другим, я мог бы добавить, что я исправил это, реализовав свое собственное представление, которое обрабатывает сам процесс рисования и рисует только строки, видимые на экране. Это делает его чрезвычайно быстрым, и внутреннее представление QT, похоже, не может сделать что-то подобное.

 Смежные вопросы

  • Нет связанных вопросов^_^