MainWindow#

MainWindow with own methods only#

class pydidas.gui.MainWindow(parent=None, geometry=None)#

Inherits from qtpy.QtWidgets.QMainWindow.

The MainWindow is used to organize frames and for managing the menu and global application parameters.

Parameters:
  • parent (QtWidgets.QWidget, optional) – The widget’s parent. The default is None.

  • geometry (Union[tuple, list, None], optional) – The geometry as a 4-tuple or list. The entries are the top left corner coordinates (x0, y0) and width and height. If None, the default values will be used. The default is None.

create_frame_instances()#

Create the instances for all registered frames.

Raises:

PydidasGuiError – If a similar menu entry has already been registered.

create_toolbar_menu()#

Create the toolbar menu to select between different widgets in the centralWidget.

export_main_window_state()#

Export the main window’s state.

Returns:

The state of the main window required to restore the look.

Return type:

dict

register_frame(frame)#

Register a frame class with the MainWindow and add it to the PydidasFrameStack.

This method takes a BaseFrame and creates an instance which is registers with the PydidasFrameStack. It also stores the required metadata to create an actionbar link to open the frame.

Parameters:

frame (type[pydidas.widgets.framework.BaseFrame]) – The class of the Frame. This must be a subclass of BaseFrame. If a string is passed, an empty frame class with the metadata given by title, menu_entry and icon is created.

restore_gui_state(state='saved', filename=None)#

Restore the window states from saved information.

This method also updates the left toolbar entry according to the restored frame.

Parameters:
  • state (str, optional) – The state to be restored. Can be “saved” to restore the last saved state, “exit” to restore the state on exit or “manual” to manually give a filename.

  • filename (Union[None, str], optional) – The filename to be used to restore the state. This kwarg will only be used if the state kwarg is set to “manual”.

restore_main_window_state(state)#

Restore the main window’s state from saved information.

Parameters:

state (dict) – The stored state of the main window.

select_item(label)#

Select an item from the left toolbar and select the corresponding frame in the centralWidget.

For labels that have frames attached to them, this method will show the frame. For labels which are only entries in the menu tree, this method will show/hide the respective toolbar.

Parameters:

label (str) – The label of the selected item.

show()#

Insert a create_toolbar_menu method call into the show method if the toolbars have not been created at the time of the show call.

MainWindow with inherited methods too#

class pydidas.gui.MainWindow(parent=None, geometry=None)

Inherits from qtpy.QtWidgets.QMainWindow.

The MainWindow is used to organize frames and for managing the menu and global application parameters.

Parameters:
  • parent (QtWidgets.QWidget, optional) – The widget’s parent. The default is None.

  • geometry (Union[tuple, list, None], optional) – The geometry as a 4-tuple or list. The entries are the top left corner coordinates (x0, y0) and width and height. If None, the default values will be used. The default is None.

class PaintDeviceMetric
class RenderFlag
class RenderFlags
class RenderFlags(f: QWidget.RenderFlags | QWidget.RenderFlag)
class RenderFlags(a0: QWidget.RenderFlags)
acceptDrops(self) bool
accessibleDescription(self) str
accessibleName(self) str
actionEvent(self, a0: QActionEvent | None)
actions(self) List[QAction]
activateWindow(self)
addAction(self, action: QAction | None)
addActions(self, actions: Iterable[QAction])
adjustSize(self)
autoFillBackground(self) bool
backgroundRole(self) QPalette.ColorRole
baseSize(self) QSize
blockSignals(self, b: bool) bool
changeEvent(self, a0: QEvent | None)
check_for_updates(force_check: bool = False, auto_check: bool = False)

Check if the pydidas version is up-to-date and show a dialog if not.

Parameters:
  • force_check (bool, optional) – Flag to force a check even when the user disabled checking for updates. The default is False.

  • auto_check (bool, optional) – Flag to signalize an automatic update check. This will only display a notice when the local and remote versions differ. The default is False.

childAt(self, p: QPoint) QWidget | None
childAt(self, ax: int, ay: int) QWidget | None
childEvent(self, a0: QChildEvent | None)
children(self) List[QObject]
childrenRect(self) QRect
childrenRegion(self) QRegion
clearFocus(self)
clearMask(self)
close(self) bool
closeEvent(event: QEvent)

Handle the Qt closeEvent.

This method adds calls to the child windows to close themselves.

Parameters:

event (QtCore.QEvent) – The closing event.

colorCount(self) int
connectNotify(self, signal: QMetaMethod)
contentsMargins(self) QMargins
contentsRect(self) QRect
contextMenuPolicy(self) Qt.ContextMenuPolicy
create(self, window: PyQt5.sip.voidptr = None, initializeWindow: bool = True, destroyOldWindow: bool = True)
createWindowContainer(window: QWindow | None, parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = 0) QWidget
create_and_show_temp_window(window: QWidget)

Show the given temporary window.

Parameters:

window (QtCore.QWidget) – The window to be shown.

create_frame_instances()

Create the instances for all registered frames.

Raises:

PydidasGuiError – If a similar menu entry has already been registered.

create_toolbar_menu()

Create the toolbar menu to select between different widgets in the centralWidget.

cursor(self) QCursor
customEvent(self, a0: QEvent | None)
deleteLater()

Add deleteLater entries for the associated windows.

depth(self) int
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)
devType(self) int
devicePixelRatio(self) int
devicePixelRatioF(self) float
devicePixelRatioFScale() float
disconnect(a0: QMetaObject.Connection) bool
disconnect(self) None
disconnectNotify(self, signal: QMetaMethod)
dragEnterEvent(self, a0: QDragEnterEvent | None)
dragLeaveEvent(self, a0: QDragLeaveEvent | None)
dragMoveEvent(self, a0: QDragMoveEvent | None)
dropEvent(self, a0: QDropEvent | None)
dumpObjectInfo(self)
dumpObjectTree(self)
dynamicPropertyNames(self) List[QByteArray]
effectiveWinId(self) PyQt5.sip.voidptr
ensurePolished(self)
enterEvent(self, a0: QEvent | None)
eventFilter(self, a0: QObject | None, a1: QEvent | None) bool
export_gui_state(filename: Path | str)

This function exports the GUI state.

Parameters:

filename (Union[Path, str]) – The full file system path of the configuration file.

export_main_window_state()

Export the main window’s state.

Returns:

The state of the main window required to restore the look.

Return type:

dict

find(a0: PyQt5.sip.voidptr) QWidget | None
findChild(self, type: Type[QObjectT], name: str | None = '', options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) QObjectT
findChild(self, types: Tuple[Type[QObjectT], ...], name: str | None = '', options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) QObjectT
findChildren(self, type: Type[QObjectT], name: str | None = '', options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
findChildren(self, types: Tuple[Type[QObjectT], ...], name: str | None = '', options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
findChildren(self, type: Type[QObjectT], regExp: QRegExp, options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
findChildren(self, types: Tuple[Type[QObjectT], ...], regExp: QRegExp, options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
findChildren(self, type: Type[QObjectT], re: QRegularExpression, options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
findChildren(self, types: Tuple[Type[QObjectT], ...], re: QRegularExpression, options: Qt.FindChildOptions | Qt.FindChildOption = Qt.FindChildrenRecursively) List[QObjectT]
focusInEvent(self, a0: QFocusEvent | None)
focusNextChild(self) bool
focusNextPrevChild(self, next: bool) bool
focusOutEvent(self, a0: QFocusEvent | None)
focusPolicy(self) Qt.FocusPolicy
focusPreviousChild(self) bool
focusProxy(self) QWidget | None
focusWidget(self) QWidget | None
font(self) QFont
fontInfo(self) QFontInfo
fontMetrics(self) QFontMetrics
foregroundRole(self) QPalette.ColorRole
frameGeometry(self) QRect
frameSize(self) QSize
geometry(self) QRect
getContentsMargins(self)
grab(self, rectangle: QRect = QRect(QPoint(0, 0), QSize(-1, -1))) QPixmap
grabGesture(self, type: Qt.GestureType, flags: Qt.GestureFlags | Qt.GestureFlag = Qt.GestureFlags())
grabKeyboard(self)
grabMouse(self)
grabMouse(self, a0: QCursor | Qt.CursorShape) None
grabShortcut(self, key: QKeySequence | QKeySequence.StandardKey | str | None | int, context: Qt.ShortcutContext = Qt.WindowShortcut) int
graphicsEffect(self) QGraphicsEffect | None
graphicsProxyWidget(self) QGraphicsProxyWidget | None
hasFocus(self) bool
hasHeightForWidth(self) bool
hasMouseTracking(self) bool
hasTabletTracking(self) bool
height(self) int
heightForWidth(self, a0: int) int
heightMM(self) int
hide(self)
hideEvent(self, a0: QHideEvent | None)
inherits(self, classname: str | None) bool
initPainter(self, painter: QPainter | None)
inputMethodEvent(self, a0: QInputMethodEvent | None)
inputMethodHints(self) Qt.InputMethodHints
inputMethodQuery(self, a0: Qt.InputMethodQuery) Any
insertAction(self, before: QAction | None, action: QAction | None)
insertActions(self, before: QAction | None, actions: Iterable[QAction])
installEventFilter(self, a0: QObject | None)
isActiveWindow(self) bool
isAncestorOf(self, child: QWidget | None) bool
isEnabled(self) bool
isEnabledTo(self, a0: QWidget | None) bool
isFullScreen(self) bool
isHidden(self) bool
isLeftToRight(self) bool
isMaximized(self) bool
isMinimized(self) bool
isModal(self) bool
isRightToLeft(self) bool
isSignalConnected(self, signal: QMetaMethod) bool
isVisible(self) bool
isVisibleTo(self, a0: QWidget | None) bool
isWidgetType(self) bool
isWindow(self) bool
isWindowModified(self) bool
isWindowType(self) bool
keyPressEvent(self, a0: QKeyEvent | None)
keyReleaseEvent(self, a0: QKeyEvent | None)
keyboardGrabber() QWidget | None
killTimer(self, id: int)
layout(self) QLayout | None
layoutDirection(self) Qt.LayoutDirection
leaveEvent(self, a0: QEvent | None)
locale(self) QLocale
logicalDpiX(self) int
logicalDpiY(self) int
lower(self)
mapFrom(self, a0: QWidget | None, a1: QPoint) QPoint
mapFromGlobal(self, a0: QPoint) QPoint
mapFromParent(self, a0: QPoint) QPoint
mapTo(self, a0: QWidget | None, a1: QPoint) QPoint
mapToGlobal(self, a0: QPoint) QPoint
mapToParent(self, a0: QPoint) QPoint
mask(self) QRegion
maximumHeight(self) int
maximumSize(self) QSize
maximumWidth(self) int
metaObject(self) QMetaObject | None
metric(self, a0: QPaintDevice.PaintDeviceMetric) int
minimumHeight(self) int
minimumSize(self) QSize
minimumSizeHint(self) QSize
minimumWidth(self) int
mouseDoubleClickEvent(self, a0: QMouseEvent | None)
mouseGrabber() QWidget | None
mouseMoveEvent(self, a0: QMouseEvent | None)
mousePressEvent(self, a0: QMouseEvent | None)
mouseReleaseEvent(self, a0: QMouseEvent | None)
move(self, a0: QPoint)
move(self, ax: int, ay: int) None
moveEvent(self, a0: QMoveEvent | None)
moveToThread(self, thread: QThread | None)
nativeEvent(self, eventType: QByteArray | bytes | bytearray, message: PyQt5.sip.voidptr | None)
nativeParentWidget(self) QWidget | None
nextInFocusChain(self) QWidget | None
normalGeometry(self) QRect
objectName(self) str
overrideWindowFlags(self, type: Qt.WindowFlags | Qt.WindowType)
overrideWindowState(self, state: Qt.WindowStates | Qt.WindowState)
paintEngine(self) QPaintEngine | None
paintEvent(self, a0: QPaintEvent | None)
paintingActive(self) bool
palette(self) QPalette
parent(self) QObject | None
parentWidget(self) QWidget | None
physicalDpiX(self) int
physicalDpiY(self) int
pos(self) QPoint
previousInFocusChain(self) QWidget | None
property(self, name: str | None) Any
pyqtConfigure(...)

Each keyword argument is either the name of a Qt property or a Qt signal. For properties the property is set to the given value which should be of an appropriate type. For signals the signal is connected to the given value which should be a callable.

q_settings_get(key: str, dtype: Type | Real | Integral | None = None, default: Any | None = None) Any

Get the value from a QSetting key.

Parameters:
  • key (str) – The QSetting reference key.

  • dtype (Integral | Real | Type | None, optional) – A return datatype. If not None, the output will be returned as dtype(value), otherwise, the generic string/int will be returned. The default is None.

  • default (Any, optional) – The default value which is returned if the key defaults to None. The default is None.

Returns:

value – The value, converted to the type associated with the Parameter referenced by param_key or dtype, if given.

Return type:

Any

q_settings_set(key: str, value: Any)

Set the value of a QSettings key.

Parameters:
  • key (str) – The name of the key.

  • value (Any) – The value to be stored.

raise_(self)
receivers(self, signal: PYQT_SIGNAL) int
rect(self) QRect
register_frame(frame)

Register a frame class with the MainWindow and add it to the PydidasFrameStack.

This method takes a BaseFrame and creates an instance which is registers with the PydidasFrameStack. It also stores the required metadata to create an actionbar link to open the frame.

Parameters:

frame (type[pydidas.widgets.framework.BaseFrame]) – The class of the Frame. This must be a subclass of BaseFrame. If a string is passed, an empty frame class with the metadata given by title, menu_entry and icon is created.

releaseKeyboard(self)
releaseMouse(self)
releaseShortcut(self, id: int)
removeAction(self, action: QAction | None)
removeEventFilter(self, a0: QObject | None)
remove_window_from_children(name: str)

Remove the specified window from the list of child window.

Parameters:

name (str) – The name key for the window.

render(self, target: QPaintDevice | None, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlags | QWidget.RenderFlag = QWidget.RenderFlags(QWidget.RenderFlag.DrawWindowBackground | QWidget.RenderFlag.DrawChildren))
render(self, painter: QPainter | None, targetOffset: QPoint = QPoint(), sourceRegion: QRegion = QRegion(), flags: QWidget.RenderFlags | QWidget.RenderFlag = QWidget.RenderFlags(QWidget.RenderFlag.DrawWindowBackground | QWidget.RenderFlag.DrawChildren)) None
repaint(self)
repaint(self, x: int, y: int, w: int, h: int) None
repaint(self, a0: QRect) None
repaint(self, a0: QRegion) None
resize(self, a0: QSize)
resize(self, w: int, h: int) None
resizeEvent(self, a0: QResizeEvent | None)
restoreGeometry(self, geometry: QByteArray | bytes | bytearray) bool
restore_frame_states(state: dict)

Restore the states of all the frames in the PydidasFrameStack.

Parameters:

state (dict) – The state information for all frames.

restore_gui_state(state='saved', filename=None)

Restore the window states from saved information.

This method also updates the left toolbar entry according to the restored frame.

Parameters:
  • state (str, optional) – The state to be restored. Can be “saved” to restore the last saved state, “exit” to restore the state on exit or “manual” to manually give a filename.

  • filename (Union[None, str], optional) – The filename to be used to restore the state. This kwarg will only be used if the state kwarg is set to “manual”.

restore_main_window_state(state)

Restore the main window’s state from saved information.

Parameters:

state (dict) – The stored state of the main window.

restore_window_states(state: dict)

Get the states of the main’s child windows for exporting.

Returns:

state – The dictionary with the required information to store and restore window states.

Return type:

dict

saveGeometry(self) QByteArray
screen(self) QScreen | None
scroll(self, dx: int, dy: int)
scroll(self, dx: int, dy: int, a2: QRect) None
select_item(label)

Select an item from the left toolbar and select the corresponding frame in the centralWidget.

For labels that have frames attached to them, this method will show the frame. For labels which are only entries in the menu tree, this method will show/hide the respective toolbar.

Parameters:

label (str) – The label of the selected item.

sender(self) QObject | None
senderSignalIndex(self) int
setAcceptDrops(self, on: bool)
setAccessibleDescription(self, description: str | None)
setAccessibleName(self, name: str | None)
setAttribute(self, attribute: Qt.WidgetAttribute, on: bool = True)
setAutoFillBackground(self, enabled: bool)
setBackgroundRole(self, a0: QPalette.ColorRole)
setBaseSize(self, basew: int, baseh: int)
setBaseSize(self, s: QSize) None
setContentsMargins(self, left: int, top: int, right: int, bottom: int)
setContentsMargins(self, margins: QMargins) None
setContextMenuPolicy(self, policy: Qt.ContextMenuPolicy)
setCursor(self, a0: QCursor | Qt.CursorShape)
setDisabled(self, a0: bool)
setEnabled(self, a0: bool)
setFixedHeight(self, h: int)
setFixedSize(self, a0: QSize)
setFixedSize(self, w: int, h: int) None
setFixedWidth(self, w: int)
setFocus(self)
setFocus(self, reason: Qt.FocusReason) None
setFocusPolicy(self, policy: Qt.FocusPolicy)
setFocusProxy(self, a0: QWidget | None)
setFont(self, a0: QFont)
setForegroundRole(self, a0: QPalette.ColorRole)
setGeometry(self, a0: QRect)
setGeometry(self, ax: int, ay: int, aw: int, ah: int) None
setGraphicsEffect(self, effect: QGraphicsEffect | None)
setHidden(self, hidden: bool)
setInputMethodHints(self, hints: Qt.InputMethodHints | Qt.InputMethodHint)
setLayout(self, a0: QLayout | None)
setLayoutDirection(self, direction: Qt.LayoutDirection)
setLocale(self, locale: QLocale)
setMask(self, a0: QBitmap)
setMask(self, a0: QRegion) None
setMaximumHeight(self, maxh: int)
setMaximumSize(self, maxw: int, maxh: int)
setMaximumSize(self, s: QSize) None
setMaximumWidth(self, maxw: int)
setMinimumHeight(self, minh: int)
setMinimumSize(self, minw: int, minh: int)
setMinimumSize(self, s: QSize) None
setMinimumWidth(self, minw: int)
setMouseTracking(self, enable: bool)
setObjectName(self, name: str | None)
setPalette(self, a0: QPalette)
setParent(self, parent: QWidget | None)
setParent(self, parent: QWidget | None, f: Qt.WindowFlags | Qt.WindowType) None
setProperty(self, name: str | None, value: Any) bool
setShortcutAutoRepeat(self, id: int, enabled: bool = True)
setShortcutEnabled(self, id: int, enabled: bool = True)
setSizeIncrement(self, w: int, h: int)
setSizeIncrement(self, s: QSize) None
setSizePolicy(self, a0: QSizePolicy)
setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) None
setStatusTip(self, a0: str | None)
setStyle(self, a0: QStyle | None)
setStyleSheet(self, styleSheet: str | None)
setTabOrder(a0: QWidget | None, a1: QWidget | None)
setTabletTracking(self, enable: bool)
setToolTip(self, a0: str | None)
setToolTipDuration(self, msec: int)
setUpdatesEnabled(self, enable: bool)
setVisible(self, visible: bool)
setWhatsThis(self, a0: str | None)
setWindowFilePath(self, filePath: str | None)
setWindowFlag(self, a0: Qt.WindowType, on: bool = True)
setWindowFlags(self, type: Qt.WindowFlags | Qt.WindowType)
setWindowIcon(self, icon: QIcon)
setWindowIconText(self, a0: str | None)
setWindowModality(self, windowModality: Qt.WindowModality)
setWindowModified(self, a0: bool)
setWindowOpacity(self, level: float)
setWindowRole(self, a0: str | None)
setWindowState(self, state: Qt.WindowStates | Qt.WindowState)
setWindowTitle(self, a0: str | None)
sharedPainter(self) QPainter | None
show()

Insert a create_toolbar_menu method call into the show method if the toolbars have not been created at the time of the show call.

showEvent(self, a0: QShowEvent | None)
showFullScreen(self)
showMaximized(self)
showMinimized(self)
showNormal(self)
show_window(name: str)

Show a separate window.

Parameters:

name (str) – The name key of the window to be shown.

signalsBlocked(self) bool
size(self) QSize
sizeHint(self) QSize
sizeIncrement(self) QSize
sizePolicy(self) QSizePolicy
stackUnder(self, a0: QWidget | None)
startTimer(self, interval: int, timerType: Qt.TimerType = Qt.CoarseTimer) int
statusTip(self) str
style(self) QStyle | None
styleSheet(self) str
tabletEvent(self, a0: QTabletEvent | None)
testAttribute(self, attribute: Qt.WidgetAttribute) bool
thread(self) QThread | None
timerEvent(self, a0: QTimerEvent | None)
toolTip(self) str
toolTipDuration(self) int
tr(self, sourceText: str | None, disambiguation: str | None = None, n: int = -1) str
underMouse(self) bool
ungrabGesture(self, type: Qt.GestureType)
unsetCursor(self)
unsetLayoutDirection(self)
unsetLocale(self)
update(self)
update(self, a0: QRect) None
update(self, a0: QRegion) None
update(self, ax: int, ay: int, aw: int, ah: int) None
updateGeometry(self)
updateMicroFocus(self)
update_status(text: str)

Get a text message and show it in the global status widget.

This slot can be used by any QObject to send an update which will be added to the global list of status messages.

Parameters:

text (str) – The status message.

updatesEnabled(self) bool
visibleRegion(self) QRegion
whatsThis(self) str
wheelEvent(self, a0: QWheelEvent | None)
width(self) int
widthMM(self) int
winId(self) PyQt5.sip.voidptr
window(self) QWidget | None
windowFilePath(self) str
windowFlags(self) Qt.WindowFlags
windowHandle(self) QWindow | None
windowIcon(self) QIcon
windowIconText(self) str
windowModality(self) Qt.WindowModality
windowOpacity(self) float
windowRole(self) str
windowState(self) Qt.WindowStates
windowTitle(self) str
windowType(self) Qt.WindowType
x(self) int
y(self) int