问题:
我有一个程序,在这个程序中,我将显示带有堆叠小部件的多个页面,用户必须按下按钮(使用我在下面编写的代码)才能转到堆叠小部件的下一页。我想做的是计算用户的反应时间。所以要测量他们按下按钮的速度
可能的解决方案:
我想存储按键的时间(B点)和显示页面的时间(a点),然后减去这些点得到反应时间。我正在考虑在所有页面中使用一个QTimer,每当按下一个键时,它就会将时间存储在一个变量中(即b点)。并存储页面显示的时间(点a),然后减去这些点得到反应时间<然而,我是一个相当初级的编码,不知道我将如何编码这个。或者是否有更简单的方法
我想到的第二个解决方案是使用QefressdTimer,,但我也不知道如何编写代码
按钮按下:
我还创建了一个QWidget的子类,每当我按下“F”或“J”(KeybaordWidget)键时,它都会发出一个信号。所以我在想,我需要写一个函数来实现我所描述的,并将该函数连接到“fPress”或“jPress”信号
class KeyboardWidget (QWidget):
fPress = pyqtSignal(str)
jPress = pyqtSignal(str)
def keyPressEvent(self,event):
if event.key() == Qt.Key_F:
self.fPress.emit('f')
elif event.key() == Qt.Key_J:
self.jPress.emit ('j')
在
keyPressEvent
方法中,您可以使用time.time()
获取自历元以来的实际时间(以毫秒为单位),并将其保存在KeyboardWidget
类的属性中。在下一次keyPressEvent
调用中,您可以再次获取时间,从第二次中减去第一次,并且您可以获得用户在两次按下按钮之间所需的时间(以毫秒为单位)相关问题 更多 >
编程相关推荐