Если я правильно понимаю ваш вопрос, вы бы хотели переопределить поведение прокрутки виджета. Я предполагаю, что происходит то, что просмотр списка прокручивается по высоте элемента всякий раз, когда пользователь нажимает стрелку прокрутки (помечено как b на изображении ниже).
альтернативный текст http://qt.nokia.com/doc/4.6/images/qscrollbar-picture.png
Для вертикальной полосы прокрутки, подключенной к представлению списка, стрелки прокрутки обычно перемещают текущую позицию на одну «строку» вверх или вниз и настраивают положение ползунка на небольшую величину. Я считаю, что линия в этом случае это высота иконы. Вы можете настроить высоту элементов путем установки и делегата элемента (setItemDelegate) и переопределения его метода sizeHint. Хотя это не поможет вам решить эту проблему. Вы можете попробовать создать потомка QListView и переопределить его метод updateGeometries. Там вы можете настроить шаг вертикальной полосы прокрутки до желаемого значения, я думаю, 1 или 2 для этой задачи. Ниже приведен пример пользовательского списка:
class TestListView : public QListView
{
Q_OBJECT
public:
explicit TestListView(QWidget *parent = 0);
protected:
virtual void updateGeometries();
};
TestListView::TestListView(QWidget *parent) :
QListView(parent)
{
//???
}
void TestListView::updateGeometries()
{
QListView::updateGeometries();
verticalScrollBar()->setSingleStep(2);
}
надеюсь, это поможет, с уважением