You need to keep the slot reference around:

Define in your class somewhere a

CL_Slot slot_window_close;

and in your connect function, type:

slot_window_close = window.sig_window_close().connect( closeButtonClicked );

Note, if you want this to work in a class, you need to connect it like

slot_window_close = window.sig_window_close().connect(this, &MyClass::closeButtonClicked );


If you do not keep the slot object around, the signal will disconnect right after the connect.