Question

I'm using Qt 4.6.0 in Leopard 10.5.8. I have a few sliders. Every time I slide/click on a slider, it gets focus in Windows. However, it does not get focus on Mac. I have to manually click Tab to change focus. How to rectify this? Thanks in advance!

Was it helpful?

Solution

I just had to re-implement the event 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);
}
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top