Как получить точную ширину без горизонтальной полосы прокрутки? - PullRequest
0 голосов
/ 22 марта 2012

В Qt я создал QGraphicsScene, как показано ниже.

m_scene = new QGraphicsScene(0,0,152,720);
m_view = new QGraphicsView(m_scene); 

Теперь окно создано с горизонтальной и вертикальной полосами прокрутки. Поскольку я не хочу использовать горизонтальную полосу прокрутки, она использует код

m_view->setHorizontalScrollBarPolicy (Qt::ScrollBarAlwaysOff);

Но в настоящее время горизонтальная полоса прокрутки отсутствует, а ширина не равна 150, это 140 с чем-то. Как получить точную ширину без горизонтальной полосы прокрутки?

1 Ответ

2 голосов
/ 22 марта 2012

Если вы хотите получить внутреннюю ширину вашего QGraphicsView, вы можете просто вычесть ширину полосы прокрутки из общей ширины.Вот как бы я это сделал:

int innerWidth = width();
if (verticalScrollBar()) innerWidth -= verticalScrollBar()->width();
...