【发布时间】:2014-12-21 14:54:59
【问题描述】:
QNetworkAccessManager 可以异步执行请求,time.sleep(secs) 可以暂停执行给定的秒数。我被下面的代码弄糊涂了。 t2这里总是大于10秒吗?
在此处的代码中未使用time.sleep(secs),已完成的插槽getWebPageSRC 在固定的时间内被调用,大约为3 秒。
我现在已经测试了几次,发现 t2 总是大于 10 秒。谁能解释一下为什么?
de myMethod(self):
...
reply.finished.connect(self.getWebPageSRC)
self.t=time.clock()
time.sleep(10)
def getWebPageSRC(self):
t2=time.clock()-self.t
print(t2)
附:由于 QNAM 异步执行其工作,我认为它在另一个线程中工作,因此有自己的事件循环,那么 time.sleep(secs) 是否暂停所有线程的所有 Qt 事件循环或只是它所在线程的事件循环?在主线程中休眠是否会暂停所有其他线程的事件循环?
【问题讨论】:
-
对不起,我让你的问题更适合英语。 ;-) 你使用的是 pyqt 还是 pyside?没有足够的空间来添加两者。
-
@lpapp 谢谢,为我糟糕的英语感到羞耻......我正在使用 PyQt,“没有足够的空间来添加两者。”我不明白你的意思。跨度>
-
我们最多可以为问题添加五个标签。
标签: python qt pyqt qt-signals qtnetwork