我如何在PyQt应用程序中分析事件?

问题描述 投票:0回答:1

stack overflow answer似乎提供了一种非常干净的方法来监视C ++中所有Qt事件的持续时间。我有兴趣在Python中为PyQt5应用程序做类似的事情。

高级目标是进行概要分析,我们可以选择使硬数字成为使应用程序感觉缓慢的原因。油漆花了多长时间?该鼠标单击花了多长时间?有什么想法吗?

pyqt pyqt5 profiling timing
1个回答
0
投票

您可以仅在链接的答案中对C ++代码进行python化:

from PyQt5.QtCore import QElapsedTimer
from PyQt5.QtWidgets import QApplication, QPushButton

class MyApplication(QApplication):

    t = QElapsedTimer()

    def notify(self, receiver, event):
        self.t.start()
        ret = QApplication.notify(self, receiver, event)
        if(self.t.elapsed() > 10):
            print(f"processing event type {event.type()} for object {receiver.objectName()} " 
                  f"took {self.t.elapsed()}ms")
        return ret


if __name__ == "__main__":
    app = MyApplication([])
    ....
    app.exec()
© www.soinside.com 2019 - 2024. All rights reserved.