QT使用样式表增加滑块手柄的大小

时间:2013-06-01 23:29:11

标签: c++ qt

我正在使用QT来继承QSlider,现在我想让句柄更大。我使用了SetStylesheet并设置了背景颜色和新尺寸。运行时,颜色已设置,但大小似乎是固定的。然而,我可以调整整个QSlider的大小:在这种情况下,带手柄的凹槽保持相同的大小,但环绕小部件区域变大。

我该如何解决这个问题?此外,是否有每个QWidget所具有的组件的概述,并参考样式表如何调整它们?

由于

2 个答案:

答案 0 :(得分:0)

解决方案似乎是在滑块手柄的样式表中设置负边距。

答案 1 :(得分:0)

Change handel size:

aSliderProxy = new SliderProxy();
ui->materialVerticalSlider->setStyle(aSliderProxy);

File sliderproxy.h:
#ifndef SLIDERPROXY_H
#define SLIDERPROXY_H

#include <QProxyStyle>

class SliderProxy : public QProxyStyle
{
public:
    int pixelMetric ( PixelMetric metric, const QStyleOption * option = 0, const QWidget * widget = 0 ) const
    {
        switch(metric) {
        case PM_SliderThickness  : return 50;
        case PM_SliderLength     : return 50;
        default                         : return (QProxyStyle::pixelMetric(metric,option,widget));
        }
    }
};
#endif // SLIDERPROXY_H