Значит, есть метод из двух частей — первая запускает таймер и периодически вызывает другой метод, вторая (вызывается по клавише) — останавливает таймер.
Так вот, таймер никак не получается остановить.
вот код:
def timer_method(self, stop): # stop предполагает логический тип
timer=QtCore.QTimer(self)
if not stop:
self.connect(timer,
QtCore.SIGNAL('timeout()'),
self,
QtCore.SLOT('my_slot()'))
timer.start(500)
else:
QtCore.qDebug("stop")
self.disconnect(timer,
QtCore.SIGNAL('timeout()'),
self,
QtCore.SLOT('my_slot()'))
timer.stop()
сообщение «stop» выводится, но слот при этом все равно продолжает регулярно вызываться. Аналогичная конструкция на C++ работает корректно