我正在用Qwt绘图开发一个图形用户界面,遇到了一个看似平庸的问题--我不能以我想要的方式调整QScrollBar的大小。
情节是这样的:
http://tinypic.com/view.php?pic=6534o0&s=5#.UpXAwoZhauY
正如你所看到的,垂直和水平滚动比情节画布的大小更大/更长,我想让它们变小。
我尝试了滚动->setContentsMargin,我尝试了边距或高度/宽度的样式设置,尝试使用sizePolicy(QSizePolicy::Preferred,QSizePolicy::Preferred,stretch=3)或重写sizeHint虚拟函数:
QSize CScroll::sizeHint() const { QSize s=QScrollBar::sizeHint(); const QSize大小(s.width()*0.5,s.height()); 返程尺寸; }
但是正如你在屏幕截图中所看到的--尺寸提示只影响卷轴的“厚度”,所以垂直卷轴会受到影响,而水平滚动不会影响。
我还尝试更改网格布局,以便它有多一个列/行和空单元格来强制滚动条移动,但这导致卷轴占用了我想要的空间的一半(在使用布局方面我不是专家)。
PS。我使用自定义滚动条,因为在QScrollArea中使用QwtPlot实际上不起作用
发布于 2013-11-27 10:36:23
如果使用布局,则可以简单地在滚动条前后添加空间项。
https://stackoverflow.com/questions/20239487
复制相似问题