Qt 如何在没有水平滚动条的情况下获得准确的宽度?
在Qt中,我创建了一个qgraphicscene,如下所示Qt 如何在没有水平滚动条的情况下获得准确的宽度?,qt,qt4,qgraphicsview,qgraphicsscene,Qt,Qt4,Qgraphicsview,Qgraphicsscene,在Qt中,我创建了一个qgraphicscene,如下所示 m_scene = new QGraphicsScene(0,0,152,720); m_view = new QGraphicsView(m_scene); 现在,该窗口由水平和垂直滚动条创建。因为我不想使用水平滚动条,所以它使用了代码 m_view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff) 但此时,没有水平滚动条,宽度不是150,而是140左右。如何在没有水平滚动
m_scene = new QGraphicsScene(0,0,152,720);
m_view = new QGraphicsView(m_scene);
现在,该窗口由水平和垂直滚动条创建。因为我不想使用水平滚动条,所以它使用了代码
m_view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff)代码>
但此时,没有水平滚动条,宽度不是150,而是140左右。如何在没有水平滚动条的情况下获得准确的宽度?如果您想获得QGraphicsView的内部宽度,只需从总宽度中减去滚动条的宽度即可。我会这样做:
int innerWidth = width();
if (verticalScrollBar()) innerWidth -= verticalScrollBar()->width();
我不想获得内部宽度,我想显示152宽度的窗口而不滚动bar@indira,在这种情况下,将MU场景的宽度设置为152+MU视图->垂直滚动条()->width()