Since because memory concern , i need load any of them at a time. and i dont want to play with visible true or false.
What evidence do you have that keeping two widget instances in memory at the same time is a "memory concern"? Or are you just optimizing based on an untested assumption? The amount of memory each window allocates is probably negligible compared to the memory other parts of your program are using.

In any case, your WindowLoader:: loadWindow() method only connects to one of the two signals based on your startup flag, so once you switch to the other window, the signals it sends aren't connected to anything.