2013-05-18 16 views
0

我有大约5个按钮和一个滑块。每次点击按钮时,都会调用特定按钮的功能。如何获得Qt Eclipse中滑块位置的值?

但是,我也希望滑块执行相同的操作。所以,不要按下按钮,你可以拖动滑块到5个不同的位置,它会做同样的事情。但是,我真的不知道如何将滑块的5个不同位置连接到每个按钮。任何帮助,将不胜感激。

感谢

回答

1

我甚至不知道该说什么......它还挺简单:

slider->setRange(0, 4); 
connect(slider, SIGNAL(valueChanged(int)), SLOT(onSliderValueChanged(int))); 

... 

void Widget::onSliderValueChanged(int value) 
{ 
    switch (value) 
    { 
    case 0: 
     return onPushButton0Clicked(); 
    ... 
    } 
} 

void Widget::onPushButton0Clicked() 
{ 
    // do stuff 

    slider->blockSignals(true); 
    slider->setValue(0); 
    slider->blockSignals(false); 
} 

... 
+0

非常感谢的!现在起作用,但滑块在更改时不会响应,然后突然跳到某个值。 – JeremyK

+0

您的滑块现在有一个范围5.这意味着滑块需要移动1/5部分才能更改值。如果你想平滑移动,例如,你可以设置0到80的范围,并且只为值0,20,40,60和80调用按钮的槽。你还可以在滑块的信号' sliderReleased()'。取决于你想要达到的目标。 – Amartel

+0

感谢您的支持。它现在起作用,我的范围都搞砸了。再次感谢 :) – JeremyK