检测是否按下了QScrollBar中的箭头按钮

时间:2013-05-09 11:31:00

标签: c++ qt qabstractslider

如果按下QScrollBar的箭头按钮,是否有可以发出的信号?据我所知,只有sliderPressed()信号。我希望,如果它存在,则来自valueChanged()信号的另一个解决方案。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,并解决了将相同的回调函数连接到sliderReleased()valueChanged()的问题,并使用isSliderDown()检查了滑块是否“向下”(意味着被按下)并检入该函数:

    slider = QtGui.QScrollBar()
    slider.valueChanged.connect(slider_callback)
    slider.sliderReleased.connect(slider_callback)

    def slider_callback():
       if slider.isSliderDown():
          pass
       else:
          print("now i am updating")

答案 1 :(得分:0)

所有与滑块/值相关的QScrollBar发出的信号(继承自QAbstractSlider):

void    actionTriggered ( int action )
void    rangeChanged ( int min, int max )
void    sliderMoved ( int value )
void    sliderPressed ()
void    sliderReleased ()
void    valueChanged ( int value )