Я использую библиотеку squishtest
для управления приложением Qt из своего кода Python и пытаюсь использовать обработчики событий следующим образом:
import squishtest
def handle_mouse_event(event):
print 'Clicked!'
squishtest.startApplication('application')
squishtest.installEventHandler('QMouseEvent', handle_mouse_event)
К сожалению, это не работает, т.е. ничего не происходит при щелчке элементов внутри приложения, однако это работает, если я запускаю эквивалент этого кода внутри Squish IDE во время выполнения Squish:
import squish
def handle_mouse_event(event):
print 'Clicked!'
squish.startApplication('application')
squish.installEventHandler('QMouseEvent', handle_mouse_event)
В чем разница и как заставить обработчики событий работать с squishtest
?
Python 2.7.14, Squish 6.3.1, Ubuntu 16.04
time.sleep
, но теперь вместо этого попробовалsnooze
, и это работает. Вероятно, сны каким-то образом блокируют цикл событий. Вы можете опубликовать свой комментарий в качестве ответа, поскольку он, вероятно, отвечает на мой вопрос. - person Vader   schedule 07.03.2018