Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QSlider没有滑动_Qt_User Interface_Slider_Qslider - Fatal编程技术网

Qt QSlider没有滑动

Qt QSlider没有滑动,qt,user-interface,slider,qslider,Qt,User Interface,Slider,Qslider,不知怎的,我的滑环没有滑动。我只能点击滑块,然后滑块改变他的位置。我举了一些例子,但一切似乎都是一样的 以下是我的一个Qslider: 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->setT

不知怎的,我的滑环没有滑动。我只能点击滑块,然后滑块改变他的位置。我举了一些例子,但一切似乎都是一样的

以下是我的一个Qslider:

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();
}

我在基于QGraphicscene的类中定义滑块。可能是这样,但我已经智穷了。

也许你的问题的答案是:

obj_scale_x->setTracking(true);

确保没有为UI层次结构中更高级别的对象定义
eventFilter()
,如果有,请确保它不会“吞咽”事件,以防它不会直接响应事件(即在这种情况下调用
BaseClass::eventFilter(obj,event)


这就解决了我的问题。

好吧,我们需要更多的信息。你有你的问题的代码示例吗?现在你的事件流是
SLider->Someobject
,所以只有当你点击它时,它才会滑动,这是完全有意义的。不管怎么说,都很模糊,请解释一下。如果不点击,你将如何滑动?键盘还有别的吗?到底什么是不起作用的?只有通过突然移动的点击才能移动滑块。按下鼠标按钮并实现平稳移动是不可能的。功能正常。唯一不起作用的是平滑的滑动运动。我只能用鼠标跳到新的滑块位置。