2013-05-18 19 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