示例#1
0
def test_view_tab_bar(qtbot: QtBot):
    viewspace = ViewSpace()
    qtbot.addWidget(viewspace)
    viewspace.show()
    viewspace.splitActiveHorizontal()
    view = viewspace.views[0]
    tabs = view.tabs

    tabs.view.addTab("1", _TestViewWidget(1, view, editable=True))
    tabs.view.addTab("2", _TestViewWidget(2, view))
    # Test double click rename
    dlg = tabs.tabRenameDialog(0)
    assert dlg.textValue() == "1"
    dlg.textValueSelected.emit("3")
    dlg.close()
    assert tabs.tabText(0) == "3"
    # Rename on non editable will not open dialog
    assert tabs.tabRenameDialog(1) is None

    # Test drag and drop same bar
    with qtbot.assertNotEmitted(tabs.view.numTabsChanged, wait=100):
        qtbot.mousePress(tabs,
                         QtCore.Qt.LeftButton,
                         pos=tabs.tabRect(0).center())
        qtbot.mouseRelease(tabs,
                           QtCore.Qt.LeftButton,
                           pos=tabs.tabRect(1).center())
    assert tabs.tabText(0) == "3"
    assert tabs.tabText(1) == "2"
示例#2
0
def test_mouse_press_redirect_filter(qtbot: QtBot):
    a = EventTestWidget()
    b = EventTestWidget()
    qtbot.addWidget(a)
    qtbot.addWidget(b)

    b.installEventFilter(MousePressRedirectFilter(a))

    with qtbot.waitSignal(a.eventSuccess):
        qtbot.mousePress(b, QtCore.Qt.LeftButton)

    with qtbot.waitSignal(b.eventSuccess):
        qtbot.mousePress(b, QtCore.Qt.LeftButton)

    with qtbot.assertNotEmitted(a.eventSuccess):
        qtbot.keyPress(b, QtCore.Qt.Key_Enter)