You create an instance of Manager in init(), connect it to the slot, and call start(). Seeing that the list is empty it emits the signal once and then terminates. There is nothing in your code that would cause a loop or repeated execution of start(). You seem to be expecting some sort of looping to occur as a result of invoking QThread.

You do not need threading to do something like poll for changes every couple of minutes and it only complicates matters.