QStyledItem绘画函数中的委托问题

QStyledItemDelegate problem in paint function

本文关键字:问题 绘画 函数 QStyledItem      更新时间:2023-10-16

我有QListViewDelegateClassQStyledItemDelegate .在绘画功能中,我想捕捉鼠标悬停状态。当我在窗口中测试我的代码时(oOption.state & QStyle::State_MouseOver)条件是否正常工作,但在 linux 中无法捕获此状态。Linux和Windows QStyle::StateMouseOver之间有什么区别?

if (oOption.state & QStyle::State_MouseOver)
{
    // does not enter in linux 
}

我试图复制这个问题,但实际上即使在 Windows 中也无法使其工作。要使其正常工作,我必须先在QListView上启用鼠标跟踪:

theQListView->setMouseTracking(true);

也许您有平台条件的此类属性?