0

QT を使用して QSlider をサブクラス化していますが、ハンドルを大きくしたいと考えています。SetStylesheet を使用して、背景色と新しいサイズを設定しました。走行時は色は決まっていますがサイズは固定のようです。ただし、QSlider 全体のサイズを調整できます。その場合、ハンドル付きの溝は同じサイズのままですが、サラウンド ウィジェット領域が大きくなります。

どうすればこれを修正できますか? さらに、各 QWidget が持つコンポーネントのどこかに概要があり、スタイルシートでどのように調整できるかを参照していますか?

ありがとう

4

2 に答える 2

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 に答える