我想测量QProcess对象的执行时间。

PySide中是否有内部属性,方法或对象用于执行时间测量?

当前的方法是使用time.time()从外部对其进行测量。

示例代码:

from PySide import QtCore
import time

p = QtCore.QProcess()
start_time = time.time()
p.start('ping -n 5 127.0.0.1 >nul')
p.waitForFinished(-1)
end_time = time.time() - start_time

print(end_time)

最佳答案

您可以这样做的一种方法如下。这使用系统time命令来获取执行时间。

from PySide import QtCore
import time

p = QtCore.QProcess()
p.start('time -p ping -n 5 127.0.0.1 >nul')
p.waitForFinished(-1)
stdOut = p.readAllStandardOutput()
print(stdOut)
#TODO you will have to regex the stdOut to get the values you want.


这是另一种方法:

from PySide import QtCore
import time

timer = QtCore.QTime()


def handle_proc_stop(*vargs):
    procTime = timer.elapsed()
    print("Process took {} miliseconds".format(procTime))

p = QtCore.QProcess()
p.started.connect(timer.start)
p.finished.connect(handle_proc_stop)
p.start('ping -n 5 127.0.0.1 >nul')
p.waitForFinished(-1)

关于python - QProcess执行时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37783271/

10-09 21:24