ciao a tutti
stavo leggendo il modulo signal,
ho fatto una ricerca nel forum
e sono arrivato a questo tread:
http://www.python-it.org/forum/index.php?topic=2364.msg19982#msg19982e allora ho ben penato di provare a farlo con una minima interfaccia grafica, cosa da mezzo minuto
però nn funziona..
cose strane:
se clicco 1 volta mi appare il print starttimer
la seconda volta il timer si incrementa
la terza pure
.. la quarta non va più e se continuo a cliccare rimane solo il print starttimer..
qualche dritta?
import sys
from PyQt4 import QtGui, QtCore
import signal
class QTimer(QtGui.QMainWindow):
def __init__(self, period=1):
self._initgui()
self.period = period
self.count = 0
signal.signal(signal.SIGALRM, self.updatelabel)
def _initgui(self):
QtGui.QMainWindow.__init__(self)
self.resize(350, 250)
self.setWindowTitle("Timer")
body = QtGui.QWidget(self)
self.hbox = QtGui.QHBoxLayout()
self.hbox.setSpacing(5)
body.setLayout(self.hbox)
self.setCentralWidget(body)
self._addgui()
def _addgui(self):
start = QtGui.QPushButton("start")
self.connect(start, QtCore.SIGNAL("clicked()"), self.starttimer)
self.hbox.addWidget(start)
self.timerlabel = QtGui.QLabel("0")
self.hbox.addWidget(self.timerlabel)
def starttimer(self):
print("starttimer")
signal.signal(signal.SIGALRM, self.updatelabel)
signal.alarm(1)
def updatelabel(self, a, b):
self.count += 1
print("updatelabel",self.count)
self.timerlabel.setText(str(self.count))
signal.alarm(1)
app = QtGui.QApplication(sys.argv)
main = QTimer()
main.show()
sys.exit(app.exec_())