Форум сайта python.su
0
Привет!
Проблема вроде пустячная, но второй день бьюсь - не могу разобраться. Питон только сел осваивать, ничо не понимаю.
Надо сделать таймаут на некоторый участок кода. В любом букваре есть пример, как это сделать:
signal.signal(signal.SIGALRM, handler)
signal.alarm(5)
fd = os.open(’/dev/ttyS0’, os.O_RDWR)
signal.alarm(0)
class timer_test ( QtGui.QWidget ) :
def __init__ ( self, parent = None ) :
QtGui.QWidget.__init__ ( self, parent )
self.setWindowTitle ( 'timer_test' )
self.timer = QtCore.QTimer ()
QtCore.QObject.connect ( self.timer, QtCore.SIGNAL("timeout()"), self.print_test )
self.timer.start ( 1000 )
def print_test(self):
self.setWindowTitle ( '!!!!!!!!!!')
app = QtGui.QApplication ( sys.argv )
asd = timer_test ()
asd.show ()
app.exec_ ()
Офлайн
5
mr-ximport time
Надо сделать таймаут на некоторый участок кода.
Офлайн
0
Это же будет просто задержка. Кусок кода, на который требуется натянуть таймаут как висел, так висеть и будет.
Офлайн
18
mr-x прочитав несколько раз ваш пост, я так и не понял что\кого вы хотите натянуть.
может это чем нибудь поможет:
import threading
def hello():
print "hello, world"
t = threading.Timer(10.0, hello)
t.start()
while 1:
if raw_input('>>>:') == 'q':
break
Офлайн
0
Хотел, чтобы что-то похожее на пример из учебника работало под виндой. С потоками работает. Спасибо!
Офлайн