pyqt - q¿Espere análogo en PySide?
qtestlib (2)
¿No puedes usar python''s time.sleep ()?
He escrito una serie de pruebas unitarias en PyQt usando QTest y unittest. Mi código pasa las señales, por lo que para asegurar que haya pasado suficiente tiempo después de una operación antes de la prueba, incluyo algunas qWaits.
APP.ui.serverPortEdit.setText(''1234'')
QTest.mouseClick(APP.ui.userConnectButton, Qt.LeftButton)
QTest.qWait(2000) #wait for the server to connect
self.checkOnline()
Me gustaría ejecutar las mismas pruebas en PySide, pero no puedo encontrar ningún análogo para qWait. ¿He pasado por alto algo? Los documentos PySide qTest no lo mencionan.
Para otros que se encuentran con esto (mi primer hit de Google), time.sleep()
no procesa QEvent
. Me encontré con este envoltorio PyQt4 / PySide que define qWait para usar con PySide:
from datetime import datetime as datetime_, timedelta
@staticmethod
def qWait(t):
end = datetime_.now() + timedelta(milliseconds=t)
while datetime_.now() < end:
QtGui.QApplication.processEvents()
QtTest.QTest.qWait = qWait