簡體   English   中英

在squishtest中使用Qt事件處理程序

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM