0

私はスライダーを持っていて、それを表示させることができたスケールとは別に、スライダーの現在の値を示すラベルが必要です。スライドすると、現在の位置に変わります。qwt.sorceforge.netからのこのリンクのようなもの

http://qwt.sourceforge.net/sliders.png

これが私のスライダーコードです:

Slider = new QwtSlider(centralWidget);
Slider->setObjectName(QString::fromUtf8("Slider"));
Slider->setGeometry(QRect(520, 40, 60, 500));
QSizePolicy sizePolicy1(QSizePolicy::Expanding, QSizePolicy::Fixed);
sizePolicy1.setHorizontalStretch(0);
sizePolicy1.setVerticalStretch(0);
sizePolicy1.setHeightForWidth(Slider->sizePolicy().hasHeightForWidth());
Slider->setSizePolicy(sizePolicy1);
QFont font;
font.setFamily(QString::fromUtf8("Bitstream Charter"));
font.setPointSize(9);
Slider->setFont(font);
Slider->setCursor(QCursor(Qt::ArrowCursor));
Slider->setOrientation(Qt::Vertical);
Slider->setScalePosition(QwtSlider::LeftScale);
Slider->setBgStyle(QwtSlider::BgTrough);
Slider->setThumbLength(20);
Slider->setThumbWidth(10);
Slider->setBorderWidth(2);
Slider->setRange(xmin, xmax, step);
Slider->setScale(xmin, xmax+1, (xmax+1)/16);
4

1 に答える 1

3

スライダーのvalueChanged(int)信号を独自のスロットに接続します。

connect( slider, SIGNAL(valueChanged(int)), 
         someClassThatHasSlot, SLOT(setValueToTheLabel(int)) );

そしてスロットでちょうど次のようなことをします

void setValueToTheLabel( int value )
{
    ui.yourLabel->setText( QString::number( value ) );
}
于 2012-08-23T09:22:49.913 に答える