不知何故,我的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。可能是这样,但我已经无计可施了。
发布于 2012-08-06 18:34:05
也许你的问题的答案是:
obj_scale_x->setTracking(true);发布于 2018-02-02 21:57:15
确保您没有为UI层次结构中更高级别的对象定义eventFilter(),如果您定义了,请确保它不会“吞噬”事件,以防它不直接响应事件(即,在这种情况下调用BaseClass::eventFilter(obj, event) )。
这为我解决了问题。
https://stackoverflow.com/questions/8843840
复制相似问题