QSlider焦点问题(Mac Leopard)与QApplication :: focusChanged(QWidget *,QWidget *)

时间:2009-12-16 05:47:56

标签: qt macos focus qslider

我在Leopard 10.5.8中使用Qt 4.6.0。我有一些滑块。每次我滑动/单击滑块时,它都会在Windows中获得焦点。但是,它没有把重点放在Mac上。我必须手动单击Tab才能更改焦点。如何纠正这个?提前谢谢!

1 个答案:

答案 0 :(得分:1)

我只需重新实现事件QWidget :: mousePressEvent(QMouseEvent * event):

void MyChildWidget::mousePressEvent ( QMouseEvent * event )
{
    //event->accept();
    this->setFocus(Qt::TabFocusReason);
    event->ignore();

    // give control to the parent
    QSlider::mousePressEvent(event);
}