Пример #1
0
def test_remove_dock_widget_by_widget_reference(make_napari_viewer):
    viewer = make_napari_viewer()
    widg = QPushButton('button')

    dw = viewer.window.add_dock_widget(widg, name='test')
    assert widg.parent() is dw
    assert dw in viewer.window._qt_window.findChildren(QDockWidget)
    viewer.window.remove_dock_widget(widg)
    with pytest.raises(LookupError):
        # it's gone this time:
        viewer.window.remove_dock_widget(widg)
    assert not widg.parent()
Пример #2
0
def test_remove_dock_widget_orphans_widget(make_napari_viewer):
    viewer = make_napari_viewer()
    widg = QPushButton('button')

    assert not widg.parent()
    dw = viewer.window.add_dock_widget(widg, name='test')
    assert widg.parent() is dw
    assert dw.toggleViewAction() in viewer.window.window_menu.actions()
    viewer.window.remove_dock_widget(dw)
    assert dw.toggleViewAction() not in viewer.window.window_menu.actions()
    del dw
    # if dw didn't release widg, we'd get an exception when next accessing widg
    assert not widg.parent()