没有水平滚动条如何获得准确的宽度?

时间:2012-03-22 04:29:35

标签: qt qt4 qgraphicsview qgraphicsscene

在Qt中,我创建了一个QGraphicsScene,如下所示。

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

现在使用水平和垂直滚动条创建窗口。由于我不想使用水平滚动条,因此使用了代码

m_view->setHorizontalScrollBarPolicy (Qt::ScrollBarAlwaysOff);

但此时,没有水平滚动条,宽度不是150,而是140。如何在没有水平滚动条的情况下获得准确的宽度?

1 个答案:

答案 0 :(得分:2)

如果要获得QGraphicsView的内部宽度,可以从总宽度中简单地减去滚动条的宽度。我就是这样做的:

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