QTest,mousePress和mouseMove:Qt测试中缺少拖放事件

时间:2017-04-19 08:52:44

标签: qt user-interface testing pyqt qttest

我有一个带有QTreeView和QGraphicsSceneView的GUI。

树视图使用的模型支持拖动事件,图形场景支持拖放事件。

我想使用QTest模拟用户操作:mousePressmouseMovemouseRelease等等。

我写这段代码:

item_rect = self.main_wnd.tree_view.visualRect(constant_index)

QtTest.QTest.mouseMove(self.main_wnd.tree_view.viewport(), item_rect.center(), 300)
QtTest.QTest.mousePress(self.main_wnd.tree_view.viewport(), QtCore.Qt.LeftButton, QtCore.Qt.KeyboardModifiers(),
                            item_rect.center(), 300)

QtTest.QTest.mouseMove(self.main_wnd._scene_views[None].viewport(), QtCore.QPoint(), 300)
QtTest.QTest.mouseRelease(self.main_wnd.tree_view.viewport(), QtCore.Qt.LeftButton, QtCore.Qt.KeyboardModifiers(),
                            constant_rect.center(), 300)

这里我的鼠标真正移动到树项目矩形,选择它 - 并移动到场景的中心,没有任何拖放。

你能告诉我,我该如何解决?

0 个答案:

没有答案