2013-05-13 339 views
4

我想做一个自定义小部件,这基本上是一堆textedits与右侧单个垂直滚动条。为了保持小部件大小的确定,我必须找到滚动条的宽度,因为texedits几何图形取决于它。只需调用scroll_bar-> width();为新鲜创建的垂直条回报101,这是显而易见的错误。如何在Qt中获得滚动条实际宽度?

那么,有没有办法在Qt 3.2.3中正确判断垂直滚动条的宽度?

回答

15
int w = qApp->style()->pixelMetric(QStyle::PM_ScrollBarExtent); 
+0

顶部和底部按钮的大小也有这个高度。 – 2015-06-22 08:19:07

+1

对我来说似乎是三个像素,不管出于什么奇怪的原因...... :( – mjwach 2016-05-04 10:46:55

1

我还发现

vsb->sliderRect().width(); 

这恰好是正确的,但看起来糟糕的代码,我在滑块本身没有兴趣。

+0

什么是'sliderRect()'?它不是QScrollBar的成员 – 2016-04-11 13:13:42

+0

这继承了过时的Qt 3.2.3。自从4.0。 – akalenuk 2016-04-12 05:49:40

+0

哦,是的,我错过了。 – 2016-04-12 09:36:35