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 回答