2
Qt에서 QEvent 진행을 지연시킬 수있는 방법이 있습니까? 코드의Qt QEvent를 지연시키는 방법이 있습니까?
이 조각은 내가 원하는 무엇을 보여
QList<QEvent*> waited_events;
...
bool MyQWidget::event(QEvent * event)
{
if (event->type() == QEvent::KeyPress)
{
waited_events.append(event);
QTimer::singleShot(100, this, SLOT(timer()));
return true;
} else
return QWidget::event(event);
}
...
void MyQWidget::timer()
{
if (!waited_actions.isEmpty())
{
QEvent* event = waited_events.takeFirst();
QWidget::event(event);
}
}
감사합니다!
무엇이 작동하지 않습니까? –
이 방법을 사용할 수 있지만 새 이벤트를 만들어야합니다. QCoreApplication :: postEvent/sendEvent를 사용하여 처리 할 수 있습니다. –
@LucaCarlon'timer()'함수가 호출 될 때까지 그가 저장 한 QEvent * 객체가 파괴 될 것이기 때문에 이것은 작동하지 않을 것입니다. – Chris