2012-01-12 14 views
2

何とか私の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を定義しています。それはこれかもしれないが、私はウィットの終わりにいる。

+1

ここでさらに詳しい情報が必要です。問題のコードサンプルがありますか? – mmoment

+0

今あなたのイベントフローは 'SLider - > Someobject'なので、それをクリックすればスライドするだけで完全に意味があります。とにかく、あまりにも曖昧です、説明してください。 – UmNyobe

+0

クリックせずにスライドさせる方法は?キーボード?他に何か? _exactly_がうまくいかない? – Lol4t0

答えて

1

たぶん、あなたの問題の答えは次のとおりです。

obj_scale_x->setTracking(true); 
0

あなたはeventFilter()はUI階層構造の最高上位のオブジェクトのために定義されている、とあなたがしなければ、そうでないことを確認していないことを確認してくださいイベントに直接反応しない場合(つまり、その場合はBaseClass::eventFilter(obj, event))、イベントを「飲み込む」。

それは私にとって問題を解決しました。

関連する問題