C++ (Qt)bool YourQtCompleter::eventFilter( QObject *o, QEvent *e ){ if( e->type() == QEvent::MouseButtonPress ) { if( !popup()->underMouse() && virtKbd()->underMouse() ) return QObject::eventFilter( o, e ); } return QtCompleter::eventFilter( o, e );}
QCoreApplication::sendEvent( virtKbd,event ); // ret - true//orQCoreApplication::postEvent( virtKbd,event );QCoreApplication::sendPostedEvents ( virtKbd, event->type() );// зависает//orQObject::eventFilter( o, e );// ret - false//orQWidget::eventFilter(this, event ); //ret - false
QApplication app;app.installeventFilter(globalObject);GlobalObject::eventFilter(QObject *obj, QEvent *event){ if( obj == MyPopupWindow && event->type() == Qt::MouseButtonPress ) //если кликнули в моем информационном окне { MyInputWindow->activateWindow(); //активировать фокус в окне ввода информации return true; //событие обработано }}