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. Send signals to MainWindow from another window

Send signals to MainWindow from another window

Scheduled Pinned Locked Moved Solved General and Desktop
14 Posts 4 Posters 4.2k Views 1 Watching
  • 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.
  • LematL Offline
    LematL Offline
    Lemat
    wrote on last edited by
    #4

    You have theses buttons on ui or declared in QMainWindow cpp?

    Time to elevate.

    P 1 Reply Last reply
    0
    • LematL Lemat

      You have theses buttons on ui or declared in QMainWindow cpp?

      P Offline
      P Offline
      Peter_Dev
      wrote on last edited by
      #5

      @Lemat , I created these buttons on ui of SecondWindow and i want to connect their signals (if they were clicked) to slots in MainWindow

      1 Reply Last reply
      0
      • LematL Offline
        LematL Offline
        Lemat
        wrote on last edited by Lemat
        #6

        From my knowledge, declare the specifics slots in MainWindow as public, and instantiate MainWindow in SecondWindow. After try this:

        connect (this->qpushbutton, SIGNAL(clicked  (bool)), MainWindow, SLOT(specific_slot (bool)), Qt::DirectConnection);
        
        this refer to SecondWindow
        

        Hope it will work for you, test it!!!!

        Time to elevate.

        P 1 Reply Last reply
        1
        • LematL Lemat

          From my knowledge, declare the specifics slots in MainWindow as public, and instantiate MainWindow in SecondWindow. After try this:

          connect (this->qpushbutton, SIGNAL(clicked  (bool)), MainWindow, SLOT(specific_slot (bool)), Qt::DirectConnection);
          
          this refer to SecondWindow
          

          Hope it will work for you, test it!!!!

          P Offline
          P Offline
          Peter_Dev
          wrote on last edited by
          #7

          @Lemat , how can i get MainWindow in connect (this->qpushbutton, SIGNAL(clicked (bool)), MainWindow, SLOT(specific_slot (bool)), Qt::DirectConnection);?
          if i use

          MainWindow *win = new MainWindoow();
          

          i guess there's a endless cycle creates because i open a SecondWindow from MainWindow and i don't see any window. Program just uses my processor.

          1 Reply Last reply
          0
          • LematL Offline
            LematL Offline
            Lemat
            wrote on last edited by
            #8

            Wow, my apologies!!!, i have not pay attention...

            Time to elevate.

            1 Reply Last reply
            0
            • LematL Offline
              LematL Offline
              Lemat
              wrote on last edited by Lemat
              #9

              on the secondWindow, create signal in header for each button. then when you will clicked on a button, the on_clicked slot you implemented from ui for each button would emits the specific signal.
              Like this:

              SecondWindow.h :

              signals:
               Void button0 ();
               Void button1 ();
               //same for 4 remaining buttons
              

              SecondWindow.cpp : (after create slots from ui)

              Void on_button0_clicked ()
              {
              emit button0();
              }
              //repeat for 5 others buttons
              

              MainWindow cpp:

              SecondWindow *SW = new SecondWindow();
              connect (SW, SIGNAL (button0()), this, SLOT(desired_slot ()));
              //repeat for 5 others signals
              SW->show();
              

              Test it!!!!

              Time to elevate.

              P 1 Reply Last reply
              2
              • LematL Lemat

                on the secondWindow, create signal in header for each button. then when you will clicked on a button, the on_clicked slot you implemented from ui for each button would emits the specific signal.
                Like this:

                SecondWindow.h :

                signals:
                 Void button0 ();
                 Void button1 ();
                 //same for 4 remaining buttons
                

                SecondWindow.cpp : (after create slots from ui)

                Void on_button0_clicked ()
                {
                emit button0();
                }
                //repeat for 5 others buttons
                

                MainWindow cpp:

                SecondWindow *SW = new SecondWindow();
                connect (SW, SIGNAL (button0()), this, SLOT(desired_slot ()));
                //repeat for 5 others signals
                SW->show();
                

                Test it!!!!

                P Offline
                P Offline
                Peter_Dev
                wrote on last edited by
                #10

                @Lemat , thanks a lot for your time. I followed your instructions, but still i don't receive a signal from SecondWindow, though i get no error message. Does your code work for you?

                jsulmJ LematL 2 Replies Last reply
                0
                • P Peter_Dev

                  @Lemat , thanks a lot for your time. I followed your instructions, but still i don't receive a signal from SecondWindow, though i get no error message. Does your code work for you?

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

                  @Peter_Dev Please post your code.
                  Did you make sure connect() succeeded (it returns a bool)?

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

                  1 Reply Last reply
                  0
                  • P Peter_Dev

                    @Lemat , thanks a lot for your time. I followed your instructions, but still i don't receive a signal from SecondWindow, though i get no error message. Does your code work for you?

                    LematL Offline
                    LematL Offline
                    Lemat
                    wrote on last edited by Lemat
                    #12

                    @Peter_Dev , hello please post your code...

                    Time to elevate.

                    P 1 Reply Last reply
                    0
                    • LematL Lemat

                      @Peter_Dev , hello please post your code...

                      P Offline
                      P Offline
                      Peter_Dev
                      wrote on last edited by
                      #13

                      @Lemat, my code is very mess. I'm trying to clean it now. I think i know where i made mistake..
                      Thanks a lot for your time. I tried your solution on another project and it works perfect!

                      LematL 1 Reply Last reply
                      0
                      • P Peter_Dev

                        @Lemat, my code is very mess. I'm trying to clean it now. I think i know where i made mistake..
                        Thanks a lot for your time. I tried your solution on another project and it works perfect!

                        LematL Offline
                        LematL Offline
                        Lemat
                        wrote on last edited by
                        #14

                        @Peter_Dev
                        Glad it worked for you. it's a solution I use very often. if everything is ok, pass this subject to resolved.

                        Time to elevate.

                        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