Как можно задать количество шагов и начальное положение QScrollBar в graphicsView?
Пытаюсь сделать кастомный QScrollBar. Нарисовал различные картинки для подключения. Подключил и увидел что 'QScrollBar::handle:vertical' подключил две картинки. Погуглил и понял что это связанно с количеством шагов в graphicsView. Но как мне задать их не понял. Как можно задать количество шагов и начальное положение QScrollBar в graphicsView?
Ответы (1 шт):
Автор решения: Sergey Tatarincev
→ Ссылка
кажется я мозг вывихнул пока читал :( Смотрите в сторону наследуемых от QAbstractSlider
void setMaximum(int), void setMinimum(int), void setPageStep(int)
например:
QScrollBar* sb=ui->graphicsView->verticalScrollBar();
sb->setMaximum(1000); // сделаем скроллбар больше чем сцена
int pagestep = ui->graphicsView->scene()->height()/100; // можно вычислить размер шага исходя из сцены
//int pagestep = sb->maximum()/100; // или из длины скроллбара
// int pagestep = 5; // или фиксированный
sb->setPageStep(pagestep); // на столько пикселей будет постраничный скролл
sb->setSingleStep(1); // скролл кнопками будет по 1 пикселю