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. Trouble with signals and slots

Trouble with signals and slots

Scheduled Pinned Locked Moved Solved General and Desktop
20 Posts 5 Posters 3.9k 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.
  • VRoninV Offline
    VRoninV Offline
    VRonin
    wrote on last edited by VRonin
    #10

    ok, try replacing connect(m_mainButton,&QPushButton::clicked,this,&ImageCorrectButton::selectImageFile); with connect(m_mainButton,&QPushButton::clicked,[]()->void{qDebug("Entered selectImageFile!");}); and see if that works

    "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
    ~Napoleon Bonaparte

    On a crusade to banish setIndexWidget() from the holy land of Qt

    G 1 Reply Last reply
    0
    • VRoninV VRonin

      ok, try replacing connect(m_mainButton,&QPushButton::clicked,this,&ImageCorrectButton::selectImageFile); with connect(m_mainButton,&QPushButton::clicked,[]()->void{qDebug("Entered selectImageFile!");}); and see if that works

      G Offline
      G Offline
      gabor53
      wrote on last edited by
      #11

      @VRonin
      Nothing new happens. "Hangs" at the same location.

      1 Reply Last reply
      0
      • VRoninV Offline
        VRoninV Offline
        VRonin
        wrote on last edited by
        #12

        Nothing gets printed in the debug console?!

        "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
        ~Napoleon Bonaparte

        On a crusade to banish setIndexWidget() from the holy land of Qt

        G 1 Reply Last reply
        0
        • VRoninV VRonin

          Nothing gets printed in the debug console?!

          G Offline
          G Offline
          gabor53
          wrote on last edited by
          #13

          @VRonin
          Entered createEditor
          Entered image editor
          Entered ImageCorrectButton!
          m_mainButton clicked!

          Locals		
          	m_mainButton	@0x12395cc	QPushButton
          	parent	@0x12395f0	QWidget
          	this	@0x123957c	ImageCorrectButton
          

          1 ImageCorrectButton::ImageCorrectButton imagecorrectbutton.cpp 16 0x41e080
          2 myDelegate::createEditor mydelegate.cpp 49 0x41c61a
          3 QAbstractItemViewPrivate::editor qabstractitemview.cpp 4199 0x15154af1
          4 QAbstractItemViewPrivate::openEditor qabstractitemview.cpp 4384 0x15155895
          5 QAbstractItemView::edit qabstractitemview.cpp 2676 0x1514fa8e
          6 QAbstractItemView::mouseDoubleClickEvent qabstractitemview.cpp 1954 0x1514cf86
          7 QWidget::event qwidget.cpp 8789 0x14f26e82
          8 QFrame::event qframe.cpp 550 0x1503c188
          9 QAbstractScrollArea::viewportEvent qabstractscrollarea.cpp 1213 0x150c1a09
          10 QAbstractItemView::viewportEvent qabstractitemview.cpp 1747 0x1514bd6a
          11 QAbstractScrollAreaPrivate::viewportEvent qabstractscrollarea_p.h 111 0x1528ad14
          12 QAbstractScrollAreaFilter::eventFilter qabstractscrollarea_p.h 127 0x15289b35
          13 QCoreApplicationPrivate::sendThroughObjectEventFilters qcoreapplication.cpp 1099 0x1e4ca0e
          14 QApplicationPrivate::notify_helper qapplication.cpp 3795 0x14eefb50
          15 QApplication::notify qapplication.cpp 3273 0x14eed8b8
          16 QCoreApplication::notifyInternal2 qcoreapplication.cpp 988 0x1e4c6e7
          17 QCoreApplication::sendSpontaneousEvent qcoreapplication.h 234 0x1526c865
          18 QApplicationPrivate::sendMouseEvent qapplication.cpp 2769 0x14eec563
          19 QWidgetWindow::handleMouseEvent qwidgetwindow.cpp 617 0x14f3fb2a
          20 QWidgetWindow::event qwidgetwindow.cpp 239 0x14f3e75e
          ... <More>

          1 Reply Last reply
          0
          • VRoninV Offline
            VRoninV Offline
            VRonin
            wrote on last edited by VRonin
            #14

            ok, let's bring out the guns:
            use connect(m_mainButton,&QPushButton::clicked,[]()->void{Q_ASSERT(false);}); this should crash your program (actually assert but stay with me here) as soon as you press m_mainButton

            [Make sure you compile in debug mode and not release]

            "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
            ~Napoleon Bonaparte

            On a crusade to banish setIndexWidget() from the holy land of Qt

            G 1 Reply Last reply
            0
            • VRoninV VRonin

              ok, let's bring out the guns:
              use connect(m_mainButton,&QPushButton::clicked,[]()->void{Q_ASSERT(false);}); this should crash your program (actually assert but stay with me here) as soon as you press m_mainButton

              [Make sure you compile in debug mode and not release]

              G Offline
              G Offline
              gabor53
              wrote on last edited by
              #15

              @VRonin
              Nothing happened. Behaves the same way as before.

              1 Reply Last reply
              0
              • VRoninV Offline
                VRoninV Offline
                VRonin
                wrote on last edited by VRonin
                #16

                shame on me, it was so obvious and I missed it: QPushButton *m_mainButton = new QPushButton("Click to \n &Select Image",parent) ; you are shadowing your member, use m_mainButton = new QPushButton("Click to \n &Select Image",this) ;

                "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                ~Napoleon Bonaparte

                On a crusade to banish setIndexWidget() from the holy land of Qt

                G 1 Reply Last reply
                4
                • VRoninV VRonin

                  shame on me, it was so obvious and I missed it: QPushButton *m_mainButton = new QPushButton("Click to \n &Select Image",parent) ; you are shadowing your member, use m_mainButton = new QPushButton("Click to \n &Select Image",this) ;

                  G Offline
                  G Offline
                  gabor53
                  wrote on last edited by
                  #17

                  @VRonin said in Trouble with signals and slots:

                  m_mainButton = new QPushButton("Click to \n &Select Image",this) ;

                  This is the message I get in output:

                  Entered createEditor
                  Entered image editor
                  Entered ImageCorrectButton!
                  m_mainButton clicked!
                  ASSERT: "false" in file ..\Folkfriends_1_0\imagecorrectbutton.cpp, line 18

                  This application has requested the Runtime to terminate it in an unusual way.
                  Please contact the application's support team for more information.
                  C:\Programming\Projects\build-Folkfriends_1_0-Desktop_Qt_5_7_0_MinGW_32bit-Debug\debug\Folkfriends_1_0.exe exited with code 3

                  1 Reply Last reply
                  0
                  • VRoninV Offline
                    VRoninV Offline
                    VRonin
                    wrote on last edited by
                    #18

                    we found the problem then.
                    you can now go back to connect(m_mainButton,&QPushButton::clicked,this,&ImageCorrectButton::selectImageFile); and it should work

                    "La mort n'est rien, mais vivre vaincu et sans gloire, c'est mourir tous les jours"
                    ~Napoleon Bonaparte

                    On a crusade to banish setIndexWidget() from the holy land of Qt

                    G 1 Reply Last reply
                    0
                    • VRoninV VRonin

                      we found the problem then.
                      you can now go back to connect(m_mainButton,&QPushButton::clicked,this,&ImageCorrectButton::selectImageFile); and it should work

                      G Offline
                      G Offline
                      gabor53
                      wrote on last edited by
                      #19

                      @VRonin said in Trouble with signals and slots:

                      connect(m_mainButton,&QPushButton::clicked,this,&ImageCorrectButton::selectImageFile)

                      Thank you. It works now. What was actually wrong with it?

                      jsulmJ 1 Reply Last reply
                      0
                      • G gabor53

                        @VRonin said in Trouble with signals and slots:

                        connect(m_mainButton,&QPushButton::clicked,this,&ImageCorrectButton::selectImageFile)

                        Thank you. It works now. What was actually wrong with it?

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

                        @gabor53 As @VRonin said you created another button with same name as in your class:

                        // m_mainButton is a new local variable with same name as in the class
                        QPushButton *m_mainButton = new QPushButton("Click to \n &Select Image",parent) ;
                        

                        In your class you have

                        QPushButton *m_mainButton;
                        

                        right?
                        But then you create a new one with same name. You just need to remove QPushButton* like this to use m_mainButton from your class:

                        // m_mainButton from the class
                        m_mainButton = new QPushButton("Click to \n &Select Image",parent) ;
                        

                        So, you did the connection with another button (not the one which is visible).

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

                        1 Reply Last reply
                        2

                        • Login

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