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. Slot called twice when button pressed
Forum Updated to NodeBB v4.3 + New Features

Slot called twice when button pressed

Scheduled Pinned Locked Moved Unsolved General and Desktop
23 Posts 10 Posters 14.2k Views 3 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.
  • K KidTrent

    Sorry for the necro, but I was having this same issue and I discovered it was because I was inheriting from another QDialog that I had made. Figured I would post and explain the issue...

    Steps to reproduce...

    • Make a base QDialog (let's call it BaseDialog).
    • Add a button to BaseDialog.
    • In QtDesigner, right click the button and click "Go to slot"->"clicked(bool)".
    • Add some debugging to the created slot so you can see it is being hit (qDebug("Slot Hit");).
    • Make another QDialog (SecondaryDialog).
    • Force SecondaryDialog to inherit from BaseDialog instead of QDialog (just edit the .h file of SecondaryDialog).
    • Create an instance of SecondaryDialog programmatically.
    • Run your program and click the button inside SecondaryDialog, it will be hit twice...

    I managed to solve this by manually adding the connect call in the BaseDialog constructor instead of depending on Qt to do it for me...

    JonBJ Offline
    JonBJ Offline
    JonB
    wrote on last edited by
    #21

    @KidTrent
    Most times people say slot hit multiple times turns out they have multiple connects. Not great idea to use the "named" auto-connections from Creator.

    Oh, I see @Christian-Ehrlicher has written this. Post an example.

    1 Reply Last reply
    0
    • SGaistS SGaist

      Hi,

      Did you check that you are not connecting that signal twice ?

      R Offline
      R Offline
      Rohit_Athithya
      wrote on last edited by
      #22

      @SGaist I had done the same mistake of connecting the signal to a slot twice. I used pyqt5, and I had used the connect twice! Thus, calling the same message box element twice!

      SGaistS 1 Reply Last reply
      0
      • R Rohit_Athithya

        @SGaist I had done the same mistake of connecting the signal to a slot twice. I used pyqt5, and I had used the connect twice! Thus, calling the same message box element twice!

        SGaistS Offline
        SGaistS Offline
        SGaist
        Lifetime Qt Champion
        wrote on last edited by
        #23

        @Rohit_Athithya some things are meant to happen 😁
        Glad you found the trick.

        Interested in AI ? www.idiap.ch
        Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct

        1 Reply Last reply
        0

        • Login

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