Заметки о ньюансах разработки с использованием Qt и PyQt

Эта запись – блокнот для записи небольших заметок о некоторых неочевидных особенностях, всплывающих при разработке приложений с использованием Qt, а также PyQt.
Эти особенности приходится гуглить, а потом о них быстро забываешь, поэтому будет полезно хранить для себя и человечества эту информацию.

QListWidget и QListView тормозят при добавлении большого количества записей

Если добавить в эти списки большое количество записей, скажем несколько тысяч (в общем-то не так уж и много), они начинают заметно тормозить, причём, чем дальше добавляешь – тем сильнее тормозят. Наиболее отчётливо это заметно, когда после каждого добавления программно прокручиваешь список в самый конец. Я столкнулся с этим при разработке программы для регистрации данных с датчика силы. Довольно быстро программа начинала тормозить, а потом и вовсе вставала колом.

Решение: включить для элементов списка одинаковую высоту, это избавит список от необходимости программно пересчитывать высоту для всех элементов.
Python:

self.listWidget.setUniformItemSizes(True);

C++:
[c language=”++”] this->listWidget->setUniformItemSizes(TRUE);
[/c]


So, what do you think ?