0

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

我怎样才能解决这个问题?此外,是否有每个 QWidget 所具有的组件的概述,以及如何通过样式表调整它们?

谢谢

4

2 回答 2

0

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

于 2013-06-02T11:46:34.570 回答
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
于 2013-10-02T07:55:58.473 回答