У интерпретатора Python есть одна особенность:
GIL. В интернете вы найдёте очень много статей о том, что это такое, и как GIL помогает/мешает писать многопоточные приложения.
В случае использования QTimer, переменная timer локальная. Значит, после завершения метода run(self) эта переменная будет уничтожена и таймер никогда не сработает. Попробуйте написать:
def run(self):
timer = QtCore.QTimer()
timer.timeout.connect(self.conf)
timer.start(1000)
self.timer = timer