Commit Graph

20 Commits

Author SHA1 Message Date
Adam Strzelecki
983cc1695e
Patch/window handling (#468)
* Do not wrap PlotView/ImageView

There is no need to wrap PlotView/ImageView into QMainWindow, since
only purpose of the QMainWindow is some default menu toolbar & menu
handling, that is not used by PyQtGraph anyway.

Moreover, every parent-less Qt widget can become window, so this
change just use PlotView/ImageView as windows, removing extra
complexity, eg. method forwarding, self.win property.

Another benefit of this change, it that these windows get initial
dimensions and titles as they were designed in .ui file.

* Properly cleanup on ImageView.close()

We should not close explicitly child widgets or clear scene, otherwise
Qt will deallocate children views, and cause "wrapped C/C++ object of
type ImageItem has been deleted" error next time we call close()
and/or some other methods.

All children, including self.ui.roiPlot, self.ui.graphicsView will be
closed together with its parent, so there is no need to close them
explicitly.

So the purpose of close it to reclaim the memory, but not to make the existing ImageView object dysfunctional.

* Remove references to plot & image windows after close

PyQtGraph images and plots module list variables are currently holding
references to all plots and image windows returned directly from main
module. This does not seem to be documented however, and causes the Qt
windows to be not released from memory, even if user releases all own
references.

This change removes the references from images/plots list once window
is closed, so when there is no other reference, window and all related
memory is reclaimed.

* Change all UI forms title from Form to PyQtGraph

Co-authored-by: Ogi Moore <ognyan.moore@gmail.com>
2020-06-01 11:23:18 -07:00
Kenneth Lyons
faef56c3e7 Qulogic py3 fixes (#1073)
* py3k: Remove reduce calls.

* py3k: Remove compatibility sortList function.

Sorting by key has existed since Python 2.4.

* Remove unnecessary sys.path manipulation.

This file doesn't have any __main__ code to run anyway.

* Use context manager
2019-11-12 08:45:42 -08:00
Luke Campagnola
8da208b914 flip pyside2 template line endings 2018-05-17 09:02:41 -07:00
Luke Campagnola
46f10f24f8 Merge branch 'develop' of https://github.com/maxpeng/pyqtgraph into maxpeng-develop 2018-02-15 18:30:12 -08:00
Luke Campagnola
d8ffc21446 Refactor canvas ui to make it easier to embed / extend 2017-09-13 21:04:43 -07:00
Luke Campagnola
65b5b6a7bc Add CanvasItem.saveState/restoreState 2017-09-13 21:04:04 -07:00
Luke Campagnola
ee117fd957 Give CanvasItem alpha/setAlpha methods 2017-09-13 21:02:58 -07:00
Luke Campagnola
e88e3a4232 code cleanup 2017-09-13 21:01:38 -07:00
Luke Campagnola
f612d845fc Fix canvas classes for PyQt5 and PySide 2016-11-10 18:24:47 -08:00
Max Peng
1cbef74e82 update ui files for pyside2 and pyqt5. 2016-09-25 00:16:53 +08:00
Max Peng
8bdc19be75 update to support pyside2 2016-09-25 00:16:36 +08:00
Luke Campagnola
1fe5976e19 Merge branch 'pyqt5' into develop
Conflicts:
	examples/parametertree.py
	pyqtgraph/Qt.py
	pyqtgraph/graphicsItems/FillBetweenItem.py
	pyqtgraph/graphicsItems/InfiniteLine.py
	pyqtgraph/imageview/ImageView.py
2015-02-28 11:46:41 -05:00
Luke Campagnola
753ac9b4c4 Squashed commit of the following:
commit ca3fbe2ff9
Author: Luke Campagnola <luke.campagnola@gmail.com>
Date:   Thu Aug 7 08:41:30 2014 -0400

    Merged numerous updates from acq4:
    * Added HDF5 exporter
    * CSV exporter gets (x,y,y,y) export mode
    * Updates to SVG, Matplotlib exporter
    * Console can filter exceptions by string
    * Added tick context menu to GradientEditorItem
    * Added export feature to imageview
    * Parameter trees:
        - Option to save only user-editable values
        - Option to set visible title of parameters separately from name
        - Added experimental ParameterSystem for handling large systems of
            interdependent parameters
        - Auto-select editable portion of spinbox when editing
    * Added Vector.__abs__
    * Added replacement garbage collector for avoiding crashes on multithreaded Qt
    * Fixed "illegal instruction" caused by closing file handle 7 on OSX
    * configfile now reloads QtCore objects, Point, ColorMap, numpy arrays
    * Avoid triggering recursion issues in exception handler
    * Various bugfies and performance enhancements
2014-08-07 09:03:26 -04:00
Luke Campagnola
0bb300b7f2 Generated qt5 template files 2014-03-29 06:57:13 -04:00
Luke Campagnola
c72638ab1b Merge branch 'tommy3001-doc-updates' into develop
Conflicts:
	pyqtgraph/graphicsItems/AxisItem.py
	pyqtgraph/graphicsItems/PlotDataItem.py
	pyqtgraph/graphicsItems/ROI.py
2014-02-28 21:07:43 -05:00
tommy3001
92d7bbe18e In list tables "**Arguments**", "Arguments:" changed to **Arguments:** 2014-02-03 21:13:10 +01:00
Luke Campagnola
a069104c6b rebuild UI files 2013-12-23 10:11:20 -05:00
Luke Campagnola
7e907db557 .ui files 2013-12-23 10:08:26 -05:00
Luke Campagnola
eaf29b5f07 flowchart, canvas 2013-12-23 10:01:20 -05:00
Luke Campagnola
af59296231 Reorganized directory structure to be more standard
Started new SVG exporter
Merged updates from ACQ4
2012-12-25 00:43:31 -05:00