I have a slot connected to a QPushButton's clicked() signal.

When I hold the button down, I see repeated calls to the slot (which is what I want).

If a dialog comes up during that time (using Dialog->exec()), the button pops up, but I still get the repeated calls to the QPushButton when the dialog is closed and I'm not clicking it anymore.

Some workarounds I've tried:

Using the pressed() signal instead. The slot keeps getting called after the dialog closes.

Doing a check for isDown() in the slot. For some reason this is still true.

Any ideas?