Paitor
@Paitor
Выпускник. Изучаю Python и прочее

Почему сдвиг делается на 3 элемента, хотя BatchSize = 100?

Объясните, почему при прокручивании колёсика в QListWidget верхним элементов становится сначала "пункт 4", затем "пункт 7", "пункт 10" и тд, хотя BatchSize = 100? То есть BatchSize не является количеством элементов при прокрутке колёсика мыши? Вот код, готовый к запуску:

import sys

from PyQt5 import QtCore, QtWidgets

app = QtWidgets.QApplication(sys.argv)
window = QtWidgets.QWidget()
window.setWindowTitle("Класс QListView")
window.resize(300, 150)
view = QtWidgets.QListView()

view.setLayoutMode(QtWidgets.QListView.Batched)
view.setBatchSize(100)

L = []
for i in range(1, 100000):
    L.append("Пункт {0}".format(i))
model = QtCore.QStringListModel(L)
view.setModel(model)
box = QtWidgets.QVBoxLayout()
box.addWidget(view)
window.setLayout(box)
window.show()
sys.exit(app.exec_())
  • Вопрос задан
  • 51 просмотр
Решения вопроса 1
@galaxy
Не является. BatchSize - это по сколько рендерится за подход (чтобы отображение списка не тормозило в случае очень больших списков)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы