Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt 如何在没有水平滚动条的情况下获得准确的宽度?_Qt_Qt4_Qgraphicsview_Qgraphicsscene - Fatal编程技术网

Qt 如何在没有水平滚动条的情况下获得准确的宽度?

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左右。如何在没有水平滚动

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

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()