Dev Quick Start¶
Below are quick tips and hints on how the plumbing kinda works (not definitive and WIP).
Fundamental is python3 and the PyQt5 ‘bindings’
so PyQt widget documentation is essentially upstream at https://doc.qt.io/qt-5/qt5-intro.html
The app starts with the pyspread.MainWindow.
It is also passed around to other widgets as argument for callback, values, etc.
On startup the main windows call a set of _init_* functions eg
_init_toolbars,_init_widgetsApp persistence is stored in the
settings.Settingsobject.
The actions module defines a set of actions.Action objects, a convenience constructor for QAction.
The
iconsmodule defines a set oficons.IconobjectsThe icon files are located in the share/icons/ and are primarily .svg (thanks Tango Icon Library project and others)
Toolbar item are in
toolbarmoduleMenubar item are in
menubarmodule
The spreadsheet data is stored in model.model layers:
The data is displayed by the
gridwidgets moduleThe
entryline.EntryLinewidget allows user editingThe QUndoStack is used for undo/redo and
commandscontains the QUndoCommandsThe
workflowsmodule is where a lot of the logic isData is written and read from .pys files in the
interfaces.pysmodule
pyspread