Qt - QGraphicsView без ScrollBar - PullRequest
       2

Qt - QGraphicsView без ScrollBar

6 голосов
/ 18 августа 2010

Я пытаюсь показать картинку в полноэкранном режиме, используя QGraphicsScene.Но когда я помещаю QgraphicsScene внутрь QGraphicsView, я получаю полосу прокрутки.Я пробовал так много способов, но все пошли в вены.Так может кто-нибудь сказать мне, как получить полный вид без полосы прокрутки.

Ответы [ 2 ]

10 голосов
/ 13 марта 2012

Возможно, вы получаете полосы прокрутки, потому что сцена больше, чем используемая область в графическом представлении. По умолчанию QGraphicsView поставляется с полем в 1 пиксель. Чтобы это исправить, вы можете попробовать:

QRect rcontent = graphicsView.contentsRect();
graphicsView.setSceneRect(0, 0, rcontent.width(), rcontent.height());

Я получал полосы прокрутки, потому что я вручную устанавливал прямоугольник сцены на размер добавляемого графического элемента, который был таким же большим, как виджет QGraphicsView. Я не учел маржу.

6 голосов
/ 18 августа 2010
QGraphicsView v;
v.setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);
v.setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);

Чтобы настроить прокрутку программно после того, как они были скрыты, используйте одну из перегрузок v.ensureVisible().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...