Qt Winid获取的窗口导致重写事件出现失效等问题

//    foreach (QWidget *pWin, QApplication::allWidgets()) {
//        qDebug() << pWin->winId();
//        if (winid == QString::number(pWin->winId())) {
//            pWidget = pWin;
//            qDebug() << "找到了!!!";
//            break;
//        }
//    }

不知道为什么,取得的pWidget的重写的事件,会出现问题。所以还是不用这种方法去找窗口指针了。

解决方案,自己在内存中维护一个QMap的对象,key是winId,value是窗口指针。

你可能感兴趣的:(C++,Qt)