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

发布于 2024-08-14 09:59:12 字数 123 浏览 4 评论 0原文

我在 Leopard 10.5.8 中使用 Qt 4.6.0。我有几个滑块。每次我滑动/单击滑块时,它都会在 Windows 中获得焦点。然而,它并没有关注 Mac。我必须手动单击 Tab 才能更改焦点。如何纠正这个问题?提前致谢!

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!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

山人契 2024-08-21 09:59:12

我只需要重新实现事件 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);
}

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);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文