convert uses of QTimer.singleShot to QTimer instances
On macOS and Linux with PyQt bindings, QTimer.singleShot continues to fire on python interpreter shutdown.
This commit is contained in:
parent
1ad7d49908
commit
85e894dd73
@ -36,6 +36,10 @@ i = 0
|
|||||||
updateTime = ptime.time()
|
updateTime = ptime.time()
|
||||||
fps = 0
|
fps = 0
|
||||||
|
|
||||||
|
timer = QtCore.QTimer()
|
||||||
|
timer.setSingleShot(True)
|
||||||
|
# not using QTimer.singleShot() because of persistence on PyQt. see PR #1605
|
||||||
|
|
||||||
def updateData():
|
def updateData():
|
||||||
global img, data, i, updateTime, fps
|
global img, data, i, updateTime, fps
|
||||||
|
|
||||||
@ -43,7 +47,7 @@ def updateData():
|
|||||||
img.setImage(data[i])
|
img.setImage(data[i])
|
||||||
i = (i+1) % data.shape[0]
|
i = (i+1) % data.shape[0]
|
||||||
|
|
||||||
QtCore.QTimer.singleShot(1, updateData)
|
timer.start(1)
|
||||||
now = ptime.time()
|
now = ptime.time()
|
||||||
fps2 = 1.0 / (now-updateTime)
|
fps2 = 1.0 / (now-updateTime)
|
||||||
updateTime = now
|
updateTime = now
|
||||||
@ -51,7 +55,7 @@ def updateData():
|
|||||||
|
|
||||||
#print "%0.1f fps" % fps
|
#print "%0.1f fps" % fps
|
||||||
|
|
||||||
|
timer.timeout.connect(updateData)
|
||||||
updateData()
|
updateData()
|
||||||
|
|
||||||
## Start Qt event loop unless running in interactive mode.
|
## Start Qt event loop unless running in interactive mode.
|
||||||
|
@ -61,6 +61,10 @@ wave_speed = 0.3
|
|||||||
wave_length = 10
|
wave_length = 10
|
||||||
color_speed = 0.3
|
color_speed = 0.3
|
||||||
|
|
||||||
|
timer = QtCore.QTimer()
|
||||||
|
timer.setSingleShot(True)
|
||||||
|
# not using QTimer.singleShot() because of persistence on PyQt. see PR #1605
|
||||||
|
|
||||||
i=0
|
i=0
|
||||||
def updateData():
|
def updateData():
|
||||||
global i
|
global i
|
||||||
@ -74,8 +78,9 @@ def updateData():
|
|||||||
new_z)
|
new_z)
|
||||||
|
|
||||||
i += wave_speed
|
i += wave_speed
|
||||||
QtCore.QTimer.singleShot(1000//fps, updateData)
|
timer.start(1000//fps)
|
||||||
|
|
||||||
|
timer.timeout.connect(updateData)
|
||||||
updateData()
|
updateData()
|
||||||
|
|
||||||
## Start Qt event loop unless running in interactive mode.
|
## Start Qt event loop unless running in interactive mode.
|
||||||
|
Loading…
Reference in New Issue
Block a user