问题已经解决,通过重写QQuickview 的event函数,拦截事件进行处理
ViewEventHandle::ViewEventHandle(QQuickView * parent):QQuickView(parent)
{
    m_pFileIo = nullptr;
}
bool ViewEventHandle::event(QEvent * event)
{
    //qDebug() << "event.tyep :"<< event->type();
    if(m_pFileIo && event->type() == QEvent::Close)
    {
        if(!m_pFileIo->openMsgBox())
        {
            event->ignore();
        }
    }
    return QQuickView::event(event);
}
有点熟悉的MFC的感觉....