def mouse_click(widget, pos, button=Qt.LeftButton): QTest.mouseMove(widget, pos) yield QTest.mousePress(widget, button, Qt.NoModifier, pos) yield QTest.mouseRelease(widget, button, Qt.NoModifier, pos) yield 0.1
def show_context_menu(self, widget, pos, pause=0): QTest.mouseMove(widget, pos) yield pause QTest.mouseClick(widget, Qt.RightButton, Qt.NoModifier, pos) yield pause ev = QMouseEvent(QEvent.ContextMenu, pos, Qt.RightButton, Qt.NoButton, Qt.NoModifier) QApplication.postEvent(widget, ev) yield self.wait_for_popup()
def drag_mouse(widget, from_pos, to_pos): QTest.mousePress(widget, Qt.LeftButton, Qt.NoModifier, from_pos) yield QTest.mouseMove(widget, from_pos) yield 0.1 QTest.mouseMove(widget, to_pos) yield 0.1 QTest.mouseRelease(widget, Qt.LeftButton, Qt.NoModifier, to_pos) yield 0.1
def mouse_trigger_action(self, name, pause=0): menu = self.get_active_popup_widget() a, m = self.get_action(name, get_menu=True) pos = menu.actionGeometry(a).center() QTest.mouseMove(menu, pos) yield pause self.hover_action(name) QTest.mousePress(menu, Qt.LeftButton, Qt.NoModifier, pos) yield pause QTest.mouseRelease(menu, Qt.LeftButton, Qt.NoModifier, pos)
def view_set_parameter(self, param_name, value): view = self.widget.view() rect = view.getVisualRectParameterProperty(param_name) pos = rect.center() if self.is_multi: pos -= QPoint(rect.width() / 5, 0) else: pos += QPoint(rect.width() / 4, 0) tree = view.treeWidget().viewport() QTest.mouseMove(tree, pos) yield QTest.mouseClick(tree, Qt.LeftButton, Qt.NoModifier, pos) yield editor = QApplication.focusWidget() QTest.keyClicks(editor, str(value)) QTest.keyClick(editor, Qt.Key_Return)
def click_on(widget, pos, pause=0): QTest.mouseMove(widget, pos) yield pause QTest.mouseClick(widget, Qt.LeftButton, Qt.NoModifier, pos) yield pause