Проблема фокуса QSlider (Mac Leopard) с QApplication :: focusChanged (QWidget *, QWidget *) - PullRequest
0 голосов
/ 16 декабря 2009

Я использую Qt 4.6.0 в Leopard 10.5.8. У меня есть несколько слайдеров. Каждый раз, когда я перемещаю / нажимаю на слайдер, он фокусируется в Windows. Тем не менее, он не получает фокус на Mac. Я должен вручную нажать Tab, чтобы изменить фокус. Как это исправить? Заранее спасибо!

1 Ответ

1 голос
/ 17 декабря 2009

Мне просто пришлось заново реализовать событие 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);
}
...