我有一个Qt / cpp代码,并显示一个子类QLineEdit
。双击QLineEdit
时,永远不会调用focusInEvent
(在Maya中启动)。
void myQLineEditClass::focusInEvent(QFocusEvent *e)
{
MGlobal::displayInfo(MQtUtil::toMString(QString().sprintf("HERE")));
QLineEdit::focusInEvent(e);
}
如果.h保护部分中存在
focusInEvent
,则从不显示此事件。任何想法如何获得focusInEvents? 最佳答案
请尝试以下。当focusInEvent不起作用时,有几次对我有用。
void YourWidget::changeEvent(QEvent* event)
{
if (event->type() == QEvent::ActivationChange)
{
if (isActiveWindow())
{
// gaining the focus
}
else
{
// loosing the focus
}
}
// or whatever *parent* class call is
QWidget::changeEvent(event);
}