Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. Closing main window from sub windows

Closing main window from sub windows

Scheduled Pinned Locked Moved Unsolved General and Desktop
18 Posts 4 Posters 1.4k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • jsulmJ jsulm

    @supratik123 Please tell us what you did and what happened.
    Saying it "didn't worked out" does not provide enough information to help you...

    S Offline
    S Offline
    supratik123
    wrote on last edited by
    #9

    @jsulm Sorry for that. The scenario is I have a main window which is having three tabs which are widgtes. The three widgets are getting connected to three different servers using TCP. Now if error happens in any of the sub windows, I want my application to close entirely and not proceed further

    jsulmJ 1 Reply Last reply
    0
    • S supratik123

      @jsulm Sorry for that. The scenario is I have a main window which is having three tabs which are widgtes. The three widgets are getting connected to three different servers using TCP. Now if error happens in any of the sub windows, I want my application to close entirely and not proceed further

      jsulmJ Offline
      jsulmJ Offline
      jsulm
      Lifetime Qt Champion
      wrote on last edited by
      #10

      @supratik123 Can you please just tell me what did not work with https://doc.qt.io/qt-5/qcoreapplication.html#exit ?
      I already understood what you want to do, no need to explain it again...

      https://forum.qt.io/topic/113070/qt-code-of-conduct

      S 1 Reply Last reply
      0
      • jsulmJ jsulm

        @supratik123 Can you please just tell me what did not work with https://doc.qt.io/qt-5/qcoreapplication.html#exit ?
        I already understood what you want to do, no need to explain it again...

        S Offline
        S Offline
        supratik123
        wrote on last edited by
        #11

        @jsulm The application is not closing actually. The process is continuing on encountering error

        jsulmJ 1 Reply Last reply
        0
        • S supratik123

          @jsulm The application is not closing actually. The process is continuing on encountering error

          jsulmJ Offline
          jsulmJ Offline
          jsulm
          Lifetime Qt Champion
          wrote on last edited by
          #12

          @supratik123 Please show the code where you use https://doc.qt.io/qt-5/qcoreapplication.html#exit
          How is anybody supposed to help you if you do not provide enough information?!

          https://forum.qt.io/topic/113070/qt-code-of-conduct

          S 1 Reply Last reply
          0
          • jsulmJ jsulm

            @supratik123 Please show the code where you use https://doc.qt.io/qt-5/qcoreapplication.html#exit
            How is anybody supposed to help you if you do not provide enough information?!

            S Offline
            S Offline
            supratik123
            wrote on last edited by Christian Ehrlicher
            #13

            @jsulm

            try
                          {
                              //invoking the MCIS library using scope pointer member of MCIS static library
                              this->m_libMCIS.reset(new MCIS(m_mcisTestConfig));
            
                              QString l_currentDateTime = QDateTime::currentDateTime().toString("dd-MM-yyyy hh:mm:ss");
                              l_currentDateTime.append("  TCP Communication Successful ");
                              ui->m_receiverTxtEdit->append(l_currentDateTime);
                              qDebug()<<"TCP Communication Successful";
                          }
                          catch (Error& e_error)
                          {
            
                              QString l_currentDateTime = QDateTime::currentDateTime().toString("dd-MM-yyyy hh:mm:ss");
                              l_currentDateTime.append("  Error during TCP communication creation");
                              ui->m_receiverTxtEdit->append(l_currentDateTime);
                              qDebug()<<"Error during TCP communication creation";
                              QMessageBox::critical(this, tr("communication error"),
                                                    QString::fromStdString(e_error.getMessage()));
                              ***QCoreApplication::exit();***
            
                          }
                          catch(...)
                          {
                              QMessageBox::critical(this, tr("unknown error"),tr("MCIS Library communication error "));
                          }
            
            jsulmJ 1 Reply Last reply
            0
            • S supratik123

              @jsulm

              try
                            {
                                //invoking the MCIS library using scope pointer member of MCIS static library
                                this->m_libMCIS.reset(new MCIS(m_mcisTestConfig));
              
                                QString l_currentDateTime = QDateTime::currentDateTime().toString("dd-MM-yyyy hh:mm:ss");
                                l_currentDateTime.append("  TCP Communication Successful ");
                                ui->m_receiverTxtEdit->append(l_currentDateTime);
                                qDebug()<<"TCP Communication Successful";
                            }
                            catch (Error& e_error)
                            {
              
                                QString l_currentDateTime = QDateTime::currentDateTime().toString("dd-MM-yyyy hh:mm:ss");
                                l_currentDateTime.append("  Error during TCP communication creation");
                                ui->m_receiverTxtEdit->append(l_currentDateTime);
                                qDebug()<<"Error during TCP communication creation";
                                QMessageBox::critical(this, tr("communication error"),
                                                      QString::fromStdString(e_error.getMessage()));
                                ***QCoreApplication::exit();***
              
                            }
                            catch(...)
                            {
                                QMessageBox::critical(this, tr("unknown error"),tr("MCIS Library communication error "));
                            }
              
              jsulmJ Offline
              jsulmJ Offline
              jsulm
              Lifetime Qt Champion
              wrote on last edited by jsulm
              #14

              @supratik123 Was the catch (Error& e_error) called? Did you close the QMessageBox::critical dialog? And do you have an event loop running?

              https://forum.qt.io/topic/113070/qt-code-of-conduct

              S 1 Reply Last reply
              1
              • Christian EhrlicherC Offline
                Christian EhrlicherC Offline
                Christian Ehrlicher
                Lifetime Qt Champion
                wrote on last edited by
                #15

                @supratik123 said in Closing main window from sub windows:

                QCoreApplication::exit()

                This will quit the eventloop, if none is running, nothing will happen - so does the eventloop run?
                Do you have maybe set QApplication::setQuitOnLastWindowClosed(false) somewhere?

                Qt Online Installer direct download: https://download.qt.io/official_releases/online_installers/
                Visit the Qt Academy at https://academy.qt.io/catalog

                S 1 Reply Last reply
                0
                • jsulmJ jsulm

                  @supratik123 Was the catch (Error& e_error) called? Did you close the QMessageBox::critical dialog? And do you have an event loop running?

                  S Offline
                  S Offline
                  supratik123
                  wrote on last edited by
                  #16

                  @jsulm Yes the error is called and I am closing the QMessageBox whenever it is popping up. I dont;t have any event loop running

                  1 Reply Last reply
                  0
                  • Christian EhrlicherC Christian Ehrlicher

                    @supratik123 said in Closing main window from sub windows:

                    QCoreApplication::exit()

                    This will quit the eventloop, if none is running, nothing will happen - so does the eventloop run?
                    Do you have maybe set QApplication::setQuitOnLastWindowClosed(false) somewhere?

                    S Offline
                    S Offline
                    supratik123
                    wrote on last edited by
                    #17

                    @Christian-Ehrlicher No I haven't set it anywhere

                    jsulmJ 1 Reply Last reply
                    0
                    • S supratik123

                      @Christian-Ehrlicher No I haven't set it anywhere

                      jsulmJ Offline
                      jsulmJ Offline
                      jsulm
                      Lifetime Qt Champion
                      wrote on last edited by
                      #18

                      @supratik123 then just call exit() (I mean the C lib function).

                      https://forum.qt.io/topic/113070/qt-code-of-conduct

                      1 Reply Last reply
                      1

                      • Login

                      • Login or register to search.
                      • First post
                        Last post
                      0
                      • Categories
                      • Recent
                      • Tags
                      • Popular
                      • Users
                      • Groups
                      • Search
                      • Get Qt Extensions
                      • Unsolved