Qt QScrollBar的大小/长度

Qt QScrollBar的大小/长度,qt,user-interface,scrollbar,qwt,Qt,User Interface,Scrollbar,Qwt,我正在开发一个带有Qwt绘图的GUI,遇到了一个看似平淡无奇的问题——即我无法按我所希望的方式调整QScrollBar的大小。 这是情节的样子: 正如您所看到的,垂直和水平卷轴比绘图画布的大小大/长,我想把它们缩小。 我尝试了scroll->setContentsMargin,尝试了使用边距或高度/宽度设置样式,尝试了使用sizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred,stretch=3)或重写sizeHint虚拟函数: QSi

我正在开发一个带有Qwt绘图的GUI,遇到了一个看似平淡无奇的问题——即我无法按我所希望的方式调整QScrollBar的大小。
这是情节的样子:
正如您所看到的,垂直和水平卷轴比绘图画布的大小大/长,我想把它们缩小。
我尝试了scroll->setContentsMargin,尝试了使用边距或高度/宽度设置样式,尝试了使用sizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred,stretch=3)或重写sizeHint虚拟函数:

QSize CScroll::sizeHint()常量
{

QSize s=QScrollBar::sizeHint();
常量大小(s.宽度()*0.5,s.高度());
返回大小;
}

但正如您在屏幕截图中所看到的,大小提示只影响卷轴的“厚度”,因此垂直卷轴受到影响,而水平卷轴则不受影响


我还尝试更改网格布局,使其多出一列/行和空单元格,以强制滚动条移动,但这导致滚动条占用了我想要的一半空间(在使用布局方面,我不是专家)


另外,我使用自定义滚动条是因为将QScrollArea与QwtPlot一起使用实际上不起作用

如果您使用布局,您可以简单地在滚动条前后添加空格项目

您的意思是间隔符吗?如果是的话,我将如何进行,例如只移动水平滚动条(而不移动绘图本身)?到目前为止,我的布局是这样的:-->>>plotLayout->addWidget(plot,0,0,1,1);plotLayout->addWidget(hScroll,1,0);plotLayout->addWidget(vScroll,0,1,2,1);plotLayout->addWidget(面板,0,2,2,1)---QHBoxlayout*hl=新的QHBoxlayout;hl->addSpasing(10);hl->addWidget(hScroll);hl->addSpasing(10);plotLayout->addLayout(hl,1,0);