2012-03-22 15 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

私はそのような場合にまでm_sceneの幅を設定し、私はスクロールバー – indira

+0

@indiraずに152幅のウィンドウを表示したい、内側の幅を取得する必要はありません。 '152 + m_view-> verticalScrollBar() - > width()' –

関連する問題