QSlider没有滑动

时间:2012-01-12 23:23:38

标签: qt user-interface slider qslider

不知怎的,我的QSlider没有滑动。我只能点击滑块然后滑块改变他的位置。我已经用例子检查了但是一切似乎都是一样的。

这是我的一个QSliders:

QSlider  *obj_scale_x= new QSlider(Qt::Horizontal);
obj_scale_x->setValue(10);
obj_scale_x->setToolTip(tr("Scale object"));
obj_scale_x->setRange(1,50);
obj_scale_x->setTickPosition(QSlider::TicksAbove);
connect(obj_scale_x, SIGNAL(valueChanged(int)), this, SLOT(objScale_x(int)));

我认为问题可能是鼠标。但这也不起作用。

void OpenGLScene::mousePressEvent(QMouseEvent *event)
{ 
    lastPos = event->pos();
}

void OpenGLScene::mouseMoveEvent(QMouseEvent *event)
{
    lastPos = event->pos();
}

我在基于QGraphicsScene的类中定义了Slider。可能是这个,但我在我的智慧结束。

2 个答案:

答案 0 :(得分:1)

也许问题的答案是:

obj_scale_x->setTracking(true);

答案 1 :(得分:0)

确保您没有为UI层次结构中较高的对象定义eventFilter(),如果这样做,请确保它不会“吞下”该事件,以防它没有做出反应直接到事件(即在那种情况下调用BaseClass::eventFilter(obj, event))。

这解决了我的问题。