Проблема фокусировки Qslider (Mac Leopard) с Qapplication :: FocusChanged (Qwidget*, Qwidget*)

StackOverflow https://stackoverflow.com/questions/1912575

  •  19-09-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

Мне просто нужно было заново внедрить событие qwidget :: mousepressevent (qmouseevent * Событие):

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

    // give control to the parent
    QSlider::mousePressEvent(event);
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top