i find the solution for my problem, in fact the post by Teerayoot was not bad, i putted everytime my signal connection in mainWindow after the login-> exec() function and that was the problem, once i putted just after the creation of login and before its execution, it worked , woow i m happy
I do not agree with this.

As jpn said in a previous post, you got a segfault because of an invalid pointer. But this pointer was not invalid because you didn't initialized it, but because you had the same variable declared as member and as local, in the constructor of the login window. This caused the local var to be initialiased, the member remaining invalid.

This can be seen very well in the code you posted.

So, you either modified this too ( once you did this, you could have moved the connect anywhere - given that the objects were created - it still would have worked ), or you have completely rewritten parts of your code.

But by simply moving the connect to another line you will never make it work.

Regards