2012-03-22 3 views
0

В Qt я создал QGraphicsScene, как показано ниже.Как получить точную ширину без горизонтальной полосы прокрутки?

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

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

m_view->setHorizontalScrollBarPolicy (Qt::ScrollBarAlwaysOff);

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

ответ

2

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

int innerWidth = width(); 
if (verticalScrollBar()) innerWidth -= verticalScrollBar()->width(); 
+0

я не хочу, чтобы получить внутреннюю ширину, я хочу, чтобы открыть окно в 152 ширина без полосы прокрутки – indira

+0

@indira, в этом случае установить ширину m_scene в '152 + m_view-> verticalScrollBar() -> width()' –