Connecting QApplication event with QMainWindow instance

  • Hi,
    I found this interesting example in the Qt documentation:

    #include <QApplication>
    #include <QFileOpenEvent>
    #include <QtDebug>
    class MyApplication : public QApplication
        MyApplication(int &argc, char **argv)
            : QApplication(argc, argv)
        bool event(QEvent *event)
            if (event->type() == QEvent::FileOpen) {
                QFileOpenEvent *openEvent = static_cast<QFileOpenEvent *>(event);
                qDebug() << "Open file" << openEvent->file();
            return QApplication::event(event);

    Now, in my case I have a QMainWindow instance that I want to connect with the QFileOpenEvent. Either MyApplication object and the QMainWindow object are defined in the main.cpp file.

    What is the best way to connect those objects when MyApplication::event() method is triggered?


  • @xtingray
    Did you try an EventFilter on either of those objects?

  • @kenchan Reading the documentation you shared with me I found an easy solution adding this line inside the event() method of MyApplication:

            QApplication::sendEvent(mainWindow, event);


Log in to reply

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.