【问题标题】:QWidget in delegate: no repaint upon mouseover, therefore MouseOver state cannot be checked委托中的 QWidget:鼠标悬停时不会重绘,因此无法检查 MouseOver 状态
【发布时间】:2012-10-03 17:25:01
【问题描述】:

它可以在 Linux+KDE 上运行,但不能在 Windows/OSX/Linux + XFCE 上运行。

我有一个列表视图,项目是自定义小部件,如果鼠标悬停在元素上,列表视图项目的委托不会调用 paint()。

试图通过 css ( :hover ) 模拟事件,但它似乎不适用于 QWidgets。

我是否遗漏了什么,或者它确实是 KDE 以外的平台上缺少的功能?

【问题讨论】:

    标签: c++ qt


    【解决方案1】:

    您可能需要打开鼠标跟踪。

    QWidget::setMouseTracking(bool)

    【讨论】:

    • 在父列表视图上执行此操作有效,谢谢。我首先在小部件本身上尝试了它,但这个更合乎逻辑。奇怪KDE下的默认值和非KDE下的默认值有这么大的区别
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-15
    • 1970-01-01
    • 2018-12-19
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    相关资源
    最近更新 更多