Как реализовать пользовательское поведение прокрутки с использованием QWheElevent в QGraphicsView?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Как реализовать пользовательское поведение прокрутки с использованием QWheElevent в QGraphicsView?

Сообщение Anonymous »

Я работаю с QGraphicsView в QT и хочу вручную обрабатывать прокрутку мыши, переопределяя колеса колеса.
По умолчанию автоматически Qgraphicsview -Scrolls (например, унаследован от Qabstractscrollarea), но я хочу настраивать это поведение - например, изменение скорости или поддержки сглаживания. /> Я попытался переопределить WheelEvent, но я не уверен, как правильно применить дельту прокрутки к представлению.void MyGraphicsView::wheelEvent(QWheelEvent* event) {
int scroll_amount = event->angleDelta().y();
verticalScrollBar()->setValue(verticalScrollBar()->value() - scroll_amount);
event->accept();
}
< /code>
В моей системе Pixeldelta () и angledelta () иногда возвращают одни и те же значения, что кажется неверным. < /p>
Когда я пытаюсь делиться angledelta () на 8, а затем 15, как предложено в некоторых примерах QT, Scroll слишком медленно, я не Scoll Scroll, что не будет Scoll Scroll, что не будет Scroll, что не Scoll Scollling, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что нельзя сказать, что невыразительный. angledelta (). y () Значение резко прыгает (например, с 120 до 2000 или выше), что делает скорость прокрутки непоследовательной. Свитки?>

Подробнее здесь: https://stackoverflow.com/questions/796 ... aphicsview
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»