mirror of
https://github.com/Athemis/PyDSF.git
synced 2025-04-09 16:21:52 +00:00
47 lines
No EOL
983 B
Python
47 lines
No EOL
983 B
Python
import gc
|
|
import weakref
|
|
try:
|
|
import faulthandler
|
|
faulthandler.enable()
|
|
except ImportError:
|
|
pass
|
|
|
|
import pyqtgraph as pg
|
|
pg.mkQApp()
|
|
|
|
def test_getViewWidget():
|
|
view = pg.PlotWidget()
|
|
vref = weakref.ref(view)
|
|
item = pg.InfiniteLine()
|
|
view.addItem(item)
|
|
assert item.getViewWidget() is view
|
|
del view
|
|
gc.collect()
|
|
assert vref() is None
|
|
assert item.getViewWidget() is None
|
|
|
|
def test_getViewWidget_deleted():
|
|
view = pg.PlotWidget()
|
|
item = pg.InfiniteLine()
|
|
view.addItem(item)
|
|
assert item.getViewWidget() is view
|
|
|
|
# Arrange to have Qt automatically delete the view widget
|
|
obj = pg.QtGui.QWidget()
|
|
view.setParent(obj)
|
|
del obj
|
|
gc.collect()
|
|
|
|
assert not pg.Qt.isQObjectAlive(view)
|
|
assert item.getViewWidget() is None
|
|
|
|
|
|
#if __name__ == '__main__':
|
|
#view = pg.PlotItem()
|
|
#vref = weakref.ref(view)
|
|
#item = pg.InfiniteLine()
|
|
#view.addItem(item)
|
|
#del view
|
|
#gc.collect()
|
|
|
|
|