А нафига Timer_time->start(500); в двух местах и нет ни одного stop?
Вызов Timer_time->start(500); в Work() явно не имеет смысла.
Вообще из твоего описания не совсем понятно что ты хочешь добиться. Толи ты хочешь чтобы лампочка загоралась 1 раз на определенное время при каждом вызове Work(), толи чтобы лампочка мигала в процессе обработки Work() ??
1) Если первый вариант, то можно сделать так
http://www.prog.org.ru/topic_9968_0.html2) Если второй вариант(для первого тоже подходит и предпочтительней), то:
- создаем дополнительный поток реализующий "мигание" лампочки
- в данном потоке делаем слот на который передается команда "запустить"/"остановить" мигание(для второго варианта) или команда "моргнуть" (для первого варианта)
- в начале метода Work() посылаем потоку сигнал "запустить" (для второго варианта) или "моргнуть" (для первого варианта)
- в конце метода Work() посылаем потоку сигнал "остановить" (только для второго варианта)