Название: QGraphicsView и скролбары Отправлено: NOOOOOB от Июль 01, 2013, 18:45 Есть следующая ситуация - на сцену помещается некоторое количество элементов, при этом появляются полосы прокрутки на QGraphicsView
Затем сцена очищается вызовом clear(), но полосы всё равно на месте, как от них избавится? Название: Re: QGraphicsView и скролбары Отправлено: kambala от Июль 01, 2013, 19:09 Код аналогично для второго скроллбара. Название: Re: QGraphicsView и скролбары Отправлено: NOOOOOB от Июль 01, 2013, 19:31 Так мне не нужно их полностью убирать, они должны снова отображаться при необходимости, желательно автоматически
Насколько я знаю они появляются в случае если сцена полностью не помещается в отображении, вроде я очищаю сцену но видимо размер не сбрасывается, иначе они бы скрылись сами верно? Название: Re: QGraphicsView и скролбары Отправлено: _OLEGator_ от Июль 01, 2013, 19:35 Возможно это:
Код
Название: Re: QGraphicsView и скролбары Отправлено: Igors от Июль 01, 2013, 19:48 Те скроллбары - атавизм, пережиток для нормальной сцены. Застрелить их - и все дела
Название: Re: QGraphicsView и скролбары Отправлено: NOOOOOB от Июль 01, 2013, 20:07 Не совсем понял по поводу убить, совсем убирать?
P.S Проверил, действительно после вызова clear, sceneRect не обнуляется, видимо отсюда и проблема, следовательно вопрос как исправить? setSceneRect с нулевыми аргументами не срабатывает Название: Re: QGraphicsView и скролбары Отправлено: _OLEGator_ от Июль 01, 2013, 20:54 Попробуй с ненулевыми аргументами.
Ты какой прямоугольник туда подаешь? Просто QRectF()? Название: Re: QGraphicsView и скролбары Отправлено: GreatSnake от Июль 01, 2013, 21:37 По умолчанию ScrollBarPolicy должен быть Qt::ScrollBarAsNeeded.
Если нет, то выставь через Код Если не поможет, то что-то не так со сценой. |