Qwtslider布局 - 显示当前值

时间:2012-08-23 09:09:40

标签: c++ qt slider qwt

我有一个滑块,除了能够让它显示的刻度之外,我想要一个标签,告诉我滑块的当前值是什么,当我滑动它时,它将变为当前位置。来自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);

1 个答案:

答案 0 :(得分:2)

将滑块的valueChanged(int)信号连接到您自己的插槽:

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

在插槽中只需执行类似

的操作
void setValueToTheLabel( int value )
{
    ui.yourLabel->setText( QString::number( value ) );
}