[英]Using Qt Event Handlers in squishtest
我正在使用squishtest
庫從我的Python代碼處理Qt應用程序,並嘗試使用事件處理程序,如下所示:
import squishtest
def handle_mouse_event(event):
print 'Clicked!'
squishtest.startApplication('application')
squishtest.installEventHandler('QMouseEvent', handle_mouse_event)
不幸的是,這不起作用,即在應用程序內單擊元素沒有任何反應,但是如果我在Squish運行時中的Squish IDE中運行了與該代碼等效的代碼,它將起作用:
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
(按照原始海報的建議重新張貼作為答案。)
在Squish軟件包中使用Python安裝,此版本在使用Squish 6.3.x +的Linux和Windows上對我有效-但坦率地說,我在腳本末尾添加了snooze(5),以便有一些時間可以在應用程序的窗口,然后甚至基於鼠標移動的事件也會觸發事件處理函數的執行。
使用snooze()的另一個副作用是事件循環一直處於旋轉狀態,而使用time.sleep()則不是這種情況(您稍后提到過)。
如果仍然無法解決問題,建議您與froglogic Squish的技術支持聯系。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.