[求助] QLabel为什么抓不到focusInEvent, 谢谢先

时间:2022-12-01 23:20:36

void myLabel::focusInEvent(QFoncuseEvent *e)
{
    qDebug("focusin---------------");
    QLabel::focusInEvent(e);
}


为何QLabel没有焦点属性?  我在event(QEvent *e);里也抓不到鼠标移到上面的事件。

4 个解决方案

#1


virtual void focusInEvent ( QFocusEvent * ev )

#2


真是的,focusInEvent和mouseMoveEvent都没有办法。

#3


建议改用widget自己写一个。这样就可以解决了。

#4


引用楼主 zphjita 的回复:
void myLabel::focusInEvent(QFoncuseEvent *e)
{
    qDebug("focusin---------------");
    QLabel::focusInEvent(e);
}


为何QLabel没有焦点属性?  我在event(QEvent *e);里也抓不到鼠标移到上面的事件。


1. 多看manual:focusInEvent 说的很清楚

A widget normally must setFocusPolicy() to something other than Qt::NoFocus in order to receive focus events. 

2. 详细叙述你后面的"鼠标移动到上面"指什么。你要是的 enterEvent 还是 mouseMoveEvent ? 无论如何,多看Manual

#1


virtual void focusInEvent ( QFocusEvent * ev )

#2


真是的,focusInEvent和mouseMoveEvent都没有办法。

#3


建议改用widget自己写一个。这样就可以解决了。

#4


引用楼主 zphjita 的回复:
void myLabel::focusInEvent(QFoncuseEvent *e)
{
    qDebug("focusin---------------");
    QLabel::focusInEvent(e);
}


为何QLabel没有焦点属性?  我在event(QEvent *e);里也抓不到鼠标移到上面的事件。


1. 多看manual:focusInEvent 说的很清楚

A widget normally must setFocusPolicy() to something other than Qt::NoFocus in order to receive focus events. 

2. 详细叙述你后面的"鼠标移动到上面"指什么。你要是的 enterEvent 还是 mouseMoveEvent ? 无论如何,多看Manual