Text Overlay Widget



The progress overlay module provides a standardized progress overlay widget which can easily be placed on top of any other PySide.QtGui.QWidget to indicate that work is happening and potentially report messages back to the user. Once you have instantiated and placed it on top of another widget, you can execute various methods to control its state.

Sample Code

The following sample code shows how to import the overlay module, connect it to a widget and then control the overlay state:

# example of how the overlay can be used within your app code

# import the module - note that this is using the special
# import_framework code so it won't work outside an app
overlay = sgtk.platform.import_framework("tk-framework-qtwidgets", "overlay_widget")

# now inside your app constructor, create an overlay and parent it to something
self._overlay = overlay.ShotgunOverlayWidget(my_widget)

# now you can use the overlay to report things to the user
except Exception, e:
   self._overlay.show_error_message("An error was reported: %s" % e)

Please note that the example above is crude and for heavy computational work we recommend an asynchronous approach with a worker thread for better UI responsiveness.


class overlay_widget.ShotgunSpinningWidget(parent)[source]

Bases: PySide2.QtWidgets.QWidget

Overlay widget that can be placed on top over any QT widget. Once you have placed the overlay widget, you can use it to display a spinner or report progress in the form of an arc that goes from 0 to 360 degrees.

Parameters:parent (PySide.QtGui.QWidget) – Widget to attach the overlay to

Enables the overlay and shows an animated spinner.

If you want to stop the spinning, call hide().


Enables the overlay and shows an animated progress arc.

If you want to stop the progress, call hide().


Updates the widget current progress value.

Parameters:current (float) – New value for the progress arc. Must be between 0.0 (nothing) and 1.0 (complete).

Hides the overlay.


class overlay_widget.ShotgunOverlayWidget(parent)[source]

Bases: PySide2.QtWidgets.QLabel

Overlay widget that can be placed on top over any QT widget. Once you have placed the overlay widget, you can use it to display information, errors, a spinner etc.

The show_message() and show_error_message() accept both regular text and HTML to format the error message.

Constants INFO_COLOR and ERROR_COLOR are provided on the class as shorthand for the colors employed by the show_message() and show_error_message() methods.

Parameters:parent (PySide.QtGui.QWidget) – Widget to attach the overlay to

Enables the overlay and shows an animated spinner.

If you want to stop the spinning, call hide().


Enables the overlay and displays an a error message centered in the middle of the overlay.

Parameters:msg – Message to display

Display a message centered on the overlay. If an error is already being displayed by the overlay at this point, nothing will happen.

Parameters:msg – Message to display
Returns:True if message was displayed, False otherwise

Show an info message in the form of a pixmap. If an error is already being displayed by the overlay, the pixmap will not be shown.

Parameters:pixamp – Image to display
Returns:True if pixmap was displayed, False otherwise

Hides the overlay.

Parameters:hide_errors – If set to False, errors are not hidden.
acceptDrops(self) → bool
accessibleDescription(self) → str
accessibleName(self) → str
actionEvent(self, event: PySide2.QtGui.QActionEvent) → None
actions(self) → typing.List[PySide2.QtWidgets.QAction]
activateWindow(self) → None
addAction(self, action: PySide2.QtWidgets.QAction) → None
addActions(self, actions: typing.Sequence[PySide2.QtWidgets.QAction]) → None
adjustSize(self) → None
alignment(self) → PySide2.QtCore.Qt.Alignment
autoFillBackground(self) → bool
backgroundRole(self) → PySide2.QtGui.QPalette.ColorRole
backingStore(self) → PySide2.QtGui.QBackingStore
baseSize(self) → PySide2.QtCore.QSize
blockSignals(self, b: bool) → bool
buddy(self) → PySide2.QtWidgets.QWidget
changeEvent(self, arg__1: PySide2.QtCore.QEvent) → None
childAt(self, p: PySide2.QtCore.QPoint) → PySide2.QtWidgets.QWidget

childAt(self, x: int, y: int) -> PySide2.QtWidgets.QWidget

childEvent(self, event: PySide2.QtCore.QChildEvent) → None
children(self) → typing.List[PySide2.QtCore.QObject]
childrenRect(self) → PySide2.QtCore.QRect
childrenRegion(self) → PySide2.QtGui.QRegion
clear(self) → None
clearFocus(self) → None
clearMask(self) → None
close(self) → bool
closeEvent(self, event: PySide2.QtGui.QCloseEvent) → None
colorCount(self) → int
static connect(arg__1: PySide2.QtCore.QObject, arg__2: bytes, arg__3: typing.Callable, type: PySide2.QtCore.Qt.ConnectionType = PySide2.QtCore.Qt.ConnectionType.AutoConnection) → bool

connect(self, arg__1: bytes, arg__2: typing.Callable, type: PySide2.QtCore.Qt.ConnectionType = PySide2.QtCore.Qt.ConnectionType.AutoConnection) -> bool connect(self, arg__1: bytes, arg__2: PySide2.QtCore.QObject, arg__3: bytes, type: PySide2.QtCore.Qt.ConnectionType = PySide2.QtCore.Qt.ConnectionType.AutoConnection) -> bool connect(self, sender: PySide2.QtCore.QObject, signal: bytes, member: bytes, type: PySide2.QtCore.Qt.ConnectionType = PySide2.QtCore.Qt.ConnectionType.AutoConnection) -> PySide2.QtCore.QMetaObject.Connection connect(sender: PySide2.QtCore.QObject, signal: PySide2.QtCore.QMetaMethod, receiver: PySide2.QtCore.QObject, method: PySide2.QtCore.QMetaMethod, type: PySide2.QtCore.Qt.ConnectionType = PySide2.QtCore.Qt.ConnectionType.AutoConnection) -> PySide2.QtCore.QMetaObject.Connection connect(sender: PySide2.QtCore.QObject, signal: bytes, receiver: PySide2.QtCore.QObject, member: bytes, type: PySide2.QtCore.Qt.ConnectionType = PySide2.QtCore.Qt.ConnectionType.AutoConnection) -> PySide2.QtCore.QMetaObject.Connection

connectNotify(self, signal: PySide2.QtCore.QMetaMethod) → None
contentsMargins(self) → PySide2.QtCore.QMargins
contentsRect(self) → PySide2.QtCore.QRect
contextMenuEvent(self, ev: PySide2.QtGui.QContextMenuEvent) → None
contextMenuPolicy(self) → PySide2.QtCore.Qt.ContextMenuPolicy
create(self, arg__1: int = 0, initializeWindow: bool = True, destroyOldWindow: bool = True) → None
createWinId(self) → None
static createWindowContainer(window: PySide2.QtGui.QWindow, parent: typing.Optional[PySide2.QtWidgets.QWidget] = None, flags: PySide2.QtCore.Qt.WindowFlags = Default(Qt.WindowFlags)) → PySide2.QtWidgets.QWidget
cursor(self) → PySide2.QtGui.QCursor
customEvent(self, event: PySide2.QtCore.QEvent) → None
deleteLater(self) → None
depth(self) → int
destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True) → None
devType(self) → int
devicePixelRatio(self) → int
devicePixelRatioF(self) → float
static devicePixelRatioFScale() → float
static disconnect(arg__1: PySide2.QtCore.QMetaObject.Connection) → bool

disconnect(arg__1: PySide2.QtCore.QObject, arg__2: bytes, arg__3: typing.Callable) -> bool disconnect(self, arg__1: bytes, arg__2: typing.Callable) -> bool disconnect(self, receiver: PySide2.QtCore.QObject, member: typing.Optional[bytes] = None) -> bool disconnect(self, signal: bytes, receiver: PySide2.QtCore.QObject, member: bytes) -> bool disconnect(sender: PySide2.QtCore.QObject, signal: PySide2.QtCore.QMetaMethod, receiver: PySide2.QtCore.QObject, member: PySide2.QtCore.QMetaMethod) -> bool disconnect(sender: PySide2.QtCore.QObject, signal: bytes, receiver: PySide2.QtCore.QObject, member: bytes) -> bool

disconnectNotify(self, signal: PySide2.QtCore.QMetaMethod) → None
dragEnterEvent(self, event: PySide2.QtGui.QDragEnterEvent) → None
dragLeaveEvent(self, event: PySide2.QtGui.QDragLeaveEvent) → None
dragMoveEvent(self, event: PySide2.QtGui.QDragMoveEvent) → None
drawFrame(self, arg__1: PySide2.QtGui.QPainter) → None
dropEvent(self, event: PySide2.QtGui.QDropEvent) → None
dumpObjectInfo(self) → None
dumpObjectTree(self) → None
dynamicPropertyNames(self) → typing.List[PySide2.QtCore.QByteArray]
effectiveWinId(self) → int
emit(self, arg__1: bytes, *args: None) → bool
ensurePolished(self) → None
enterEvent(self, event: PySide2.QtCore.QEvent) → None
event(self, e: PySide2.QtCore.QEvent) → bool
eventFilter(self, watched: PySide2.QtCore.QObject, event: PySide2.QtCore.QEvent) → bool
static find(arg__1: int) → PySide2.QtWidgets.QWidget
findChild(self, arg__1: type, arg__2: str = '') → object
findChildren(self, arg__1: type, arg__2: PySide2.QtCore.QRegExp) → typing.Iterable

findChildren(self, arg__1: type, arg__2: PySide2.QtCore.QRegularExpression) -> typing.Iterable findChildren(self, arg__1: type, arg__2: str = ‘’) -> typing.Iterable

focusInEvent(self, ev: PySide2.QtGui.QFocusEvent) → None
focusNextChild(self) → bool
focusNextPrevChild(self, next: bool) → bool
focusOutEvent(self, ev: PySide2.QtGui.QFocusEvent) → None
focusPolicy(self) → PySide2.QtCore.Qt.FocusPolicy
focusPreviousChild(self) → bool
focusProxy(self) → PySide2.QtWidgets.QWidget
focusWidget(self) → PySide2.QtWidgets.QWidget
font(self) → PySide2.QtGui.QFont
fontInfo(self) → PySide2.QtGui.QFontInfo
fontMetrics(self) → PySide2.QtGui.QFontMetrics
foregroundRole(self) → PySide2.QtGui.QPalette.ColorRole
frameGeometry(self) → PySide2.QtCore.QRect
frameRect(self) → PySide2.QtCore.QRect
frameShadow(self) → PySide2.QtWidgets.QFrame.Shadow
frameShape(self) → PySide2.QtWidgets.QFrame.Shape
frameSize(self) → PySide2.QtCore.QSize
frameStyle(self) → int
frameWidth(self) → int
geometry(self) → PySide2.QtCore.QRect
getContentsMargins(self) → typing.Tuple[int, int, int, int]
grab(self, rectangle: PySide2.QtCore.QRect = PySide2.QtCore.QRect(0, 0, -1, -1)) → PySide2.QtGui.QPixmap
grabGesture(self, type: PySide2.QtCore.Qt.GestureType, flags: PySide2.QtCore.Qt.GestureFlags = Default(Qt.GestureFlags)) → None
grabKeyboard(self) → None
grabMouse(self) → None

grabMouse(self, arg__1: PySide2.QtGui.QCursor) -> None

grabShortcut(self, key: PySide2.QtGui.QKeySequence, context: PySide2.QtCore.Qt.ShortcutContext = PySide2.QtCore.Qt.ShortcutContext.WindowShortcut) → int
graphicsEffect(self) → PySide2.QtWidgets.QGraphicsEffect
graphicsProxyWidget(self) → PySide2.QtWidgets.QGraphicsProxyWidget
hasFocus(self) → bool
hasHeightForWidth(self) → bool
hasMouseTracking(self) → bool
hasScaledContents(self) → bool
hasSelectedText(self) → bool
hasTabletTracking(self) → bool
height(self) → int
heightForWidth(self, arg__1: int) → int
heightMM(self) → int
hideEvent(self, event: PySide2.QtGui.QHideEvent) → None
indent(self) → int
inherits(self, classname: bytes) → bool
initPainter(self, painter: PySide2.QtGui.QPainter) → None
initStyleOption(self, option: PySide2.QtWidgets.QStyleOptionFrame) → None
inputMethodEvent(self, event: PySide2.QtGui.QInputMethodEvent) → None
inputMethodHints(self) → PySide2.QtCore.Qt.InputMethodHints
inputMethodQuery(self, arg__1: PySide2.QtCore.Qt.InputMethodQuery) → typing.Any
insertAction(self, before: PySide2.QtWidgets.QAction, action: PySide2.QtWidgets.QAction) → None
insertActions(self, before: PySide2.QtWidgets.QAction, actions: typing.Sequence[PySide2.QtWidgets.QAction]) → None
installEventFilter(self, filterObj: PySide2.QtCore.QObject) → None
internalWinId(self) → int
isActiveWindow(self) → bool
isAncestorOf(self, child: PySide2.QtWidgets.QWidget) → bool
isEnabled(self) → bool
isEnabledTo(self, arg__1: PySide2.QtWidgets.QWidget) → bool
isEnabledToTLW(self) → 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: PySide2.QtCore.QMetaMethod) → bool
isTopLevel(self) → bool
isVisible(self) → bool
isVisibleTo(self, arg__1: PySide2.QtWidgets.QWidget) → bool
isWidgetType(self) → bool
isWindow(self) → bool
isWindowModified(self) → bool
isWindowType(self) → bool
keyPressEvent(self, ev: PySide2.QtGui.QKeyEvent) → None
keyReleaseEvent(self, event: PySide2.QtGui.QKeyEvent) → None
static keyboardGrabber() → PySide2.QtWidgets.QWidget
killTimer(self, id: int) → None
layout(self) → PySide2.QtWidgets.QLayout
layoutDirection(self) → PySide2.QtCore.Qt.LayoutDirection
leaveEvent(self, event: PySide2.QtCore.QEvent) → None
lineWidth(self) → int
locale(self) → PySide2.QtCore.QLocale
logicalDpiX(self) → int
logicalDpiY(self) → int
lower(self) → None
mapFrom(self, arg__1: PySide2.QtWidgets.QWidget, arg__2: PySide2.QtCore.QPoint) → PySide2.QtCore.QPoint
mapFromGlobal(self, arg__1: PySide2.QtCore.QPoint) → PySide2.QtCore.QPoint
mapFromParent(self, arg__1: PySide2.QtCore.QPoint) → PySide2.QtCore.QPoint
mapTo(self, arg__1: PySide2.QtWidgets.QWidget, arg__2: PySide2.QtCore.QPoint) → PySide2.QtCore.QPoint
mapToGlobal(self, arg__1: PySide2.QtCore.QPoint) → PySide2.QtCore.QPoint
mapToParent(self, arg__1: PySide2.QtCore.QPoint) → PySide2.QtCore.QPoint
margin(self) → int
mask(self) → PySide2.QtGui.QRegion
maximumHeight(self) → int
maximumSize(self) → PySide2.QtCore.QSize
maximumWidth(self) → int
metaObject(self) → PySide2.QtCore.QMetaObject
metric(self, arg__1: PySide2.QtGui.QPaintDevice.PaintDeviceMetric) → int
midLineWidth(self) → int
minimumHeight(self) → int
minimumSize(self) → PySide2.QtCore.QSize
minimumSizeHint(self) → PySide2.QtCore.QSize
minimumWidth(self) → int
mouseDoubleClickEvent(self, event: PySide2.QtGui.QMouseEvent) → None
static mouseGrabber() → PySide2.QtWidgets.QWidget
mouseMoveEvent(self, ev: PySide2.QtGui.QMouseEvent) → None
mousePressEvent(self, ev: PySide2.QtGui.QMouseEvent) → None
mouseReleaseEvent(self, ev: PySide2.QtGui.QMouseEvent) → None
move(self, arg__1: PySide2.QtCore.QPoint) → None

move(self, x: int, y: int) -> None

moveEvent(self, event: PySide2.QtGui.QMoveEvent) → None
moveToThread(self, thread: PySide2.QtCore.QThread) → None
movie(self) → PySide2.QtGui.QMovie
nativeEvent(self, eventType: PySide2.QtCore.QByteArray, message: int) → typing.Tuple[bool, int]
nativeParentWidget(self) → PySide2.QtWidgets.QWidget
nextInFocusChain(self) → PySide2.QtWidgets.QWidget
normalGeometry(self) → PySide2.QtCore.QRect
objectName(self) → str
overrideWindowFlags(self, type: PySide2.QtCore.Qt.WindowFlags) → None
overrideWindowState(self, state: PySide2.QtCore.Qt.WindowStates) → None
paintEngine(self) → PySide2.QtGui.QPaintEngine
paintingActive(self) → bool
palette(self) → PySide2.QtGui.QPalette
parent(self) → PySide2.QtCore.QObject
parentWidget(self) → PySide2.QtWidgets.QWidget
physicalDpiX(self) → int
physicalDpiY(self) → int
picture(self) → PySide2.QtGui.QPicture
pixmap(self) → PySide2.QtGui.QPixmap
pos(self) → PySide2.QtCore.QPoint
previousInFocusChain(self) → PySide2.QtWidgets.QWidget
property(self, name: bytes) → typing.Any
raise_(self) → None
receivers(self, signal: bytes) → int
rect(self) → PySide2.QtCore.QRect
redirected(self, offset: PySide2.QtCore.QPoint) → PySide2.QtGui.QPaintDevice
static registerUserData() → int
releaseKeyboard(self) → None
releaseMouse(self) → None
releaseShortcut(self, id: int) → None
removeAction(self, action: PySide2.QtWidgets.QAction) → None
removeEventFilter(self, obj: PySide2.QtCore.QObject) → None
render(self, painter: PySide2.QtGui.QPainter, targetOffset: PySide2.QtCore.QPoint, sourceRegion: PySide2.QtGui.QRegion = Default(QRegion), renderFlags: PySide2.QtWidgets.QWidget.RenderFlags = Instance(QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren))) → None

render(self, target: PySide2.QtGui.QPaintDevice, targetOffset: PySide2.QtCore.QPoint = Default(QPoint), sourceRegion: PySide2.QtGui.QRegion = Default(QRegion), renderFlags: PySide2.QtWidgets.QWidget.RenderFlags = Instance(QWidget.RenderFlags(QWidget.DrawWindowBackground | QWidget.DrawChildren))) -> None

repaint(self) → None

repaint(self, arg__1: PySide2.QtCore.QRect) -> None repaint(self, arg__1: PySide2.QtGui.QRegion) -> None repaint(self, x: int, y: int, w: int, h: int) -> None

resize(self, arg__1: PySide2.QtCore.QSize) → None

resize(self, w: int, h: int) -> None

resizeEvent(self, event: PySide2.QtGui.QResizeEvent) → None
restoreGeometry(self, geometry: PySide2.QtCore.QByteArray) → bool
saveGeometry(self) → PySide2.QtCore.QByteArray
screen(self) → PySide2.QtGui.QScreen
scroll(self, dx: int, dy: int) → None

scroll(self, dx: int, dy: int, arg__3: PySide2.QtCore.QRect) -> None

selectedText(self) → str
selectionStart(self) → int
sender(self) → PySide2.QtCore.QObject
senderSignalIndex(self) → int
setAcceptDrops(self, on: bool) → None
setAccessibleDescription(self, description: str) → None
setAccessibleName(self, name: str) → None
setAlignment(self, arg__1: PySide2.QtCore.Qt.Alignment) → None
setAttribute(self, arg__1: PySide2.QtCore.Qt.WidgetAttribute, on: bool = True) → None
setAutoFillBackground(self, enabled: bool) → None
setBackgroundRole(self, arg__1: PySide2.QtGui.QPalette.ColorRole) → None
setBaseSize(self, arg__1: PySide2.QtCore.QSize) → None

setBaseSize(self, basew: int, baseh: int) -> None

setBuddy(self, arg__1: PySide2.QtWidgets.QWidget) → None
setContentsMargins(self, left: int, top: int, right: int, bottom: int) → None

setContentsMargins(self, margins: PySide2.QtCore.QMargins) -> None

setContextMenuPolicy(self, policy: PySide2.QtCore.Qt.ContextMenuPolicy) → None
setCursor(self, arg__1: PySide2.QtGui.QCursor) → None
setDisabled(self, arg__1: bool) → None
setEnabled(self, arg__1: bool) → None
setFixedHeight(self, h: int) → None
setFixedSize(self, arg__1: PySide2.QtCore.QSize) → None

setFixedSize(self, w: int, h: int) -> None

setFixedWidth(self, w: int) → None
setFocus(self) → None

setFocus(self, reason: PySide2.QtCore.Qt.FocusReason) -> None

setFocusPolicy(self, policy: PySide2.QtCore.Qt.FocusPolicy) → None
setFocusProxy(self, arg__1: PySide2.QtWidgets.QWidget) → None
setFont(self, arg__1: PySide2.QtGui.QFont) → None
setForegroundRole(self, arg__1: PySide2.QtGui.QPalette.ColorRole) → None
setFrameRect(self, arg__1: PySide2.QtCore.QRect) → None
setFrameShadow(self, arg__1: PySide2.QtWidgets.QFrame.Shadow) → None
setFrameShape(self, arg__1: PySide2.QtWidgets.QFrame.Shape) → None
setFrameStyle(self, arg__1: int) → None
setGeometry(self, arg__1: PySide2.QtCore.QRect) → None

setGeometry(self, x: int, y: int, w: int, h: int) -> None

setGraphicsEffect(self, effect: PySide2.QtWidgets.QGraphicsEffect) → None
setHidden(self, hidden: bool) → None
setIndent(self, arg__1: int) → None
setInputMethodHints(self, hints: PySide2.QtCore.Qt.InputMethodHints) → None
setLayout(self, arg__1: PySide2.QtWidgets.QLayout) → None
setLayoutDirection(self, direction: PySide2.QtCore.Qt.LayoutDirection) → None
setLineWidth(self, arg__1: int) → None
setLocale(self, locale: PySide2.QtCore.QLocale) → None
setMargin(self, arg__1: int) → None
setMask(self, arg__1: PySide2.QtGui.QBitmap) → None

setMask(self, arg__1: PySide2.QtGui.QRegion) -> None

setMaximumHeight(self, maxh: int) → None
setMaximumSize(self, arg__1: PySide2.QtCore.QSize) → None

setMaximumSize(self, maxw: int, maxh: int) -> None

setMaximumWidth(self, maxw: int) → None
setMidLineWidth(self, arg__1: int) → None
setMinimumHeight(self, minh: int) → None
setMinimumSize(self, arg__1: PySide2.QtCore.QSize) → None

setMinimumSize(self, minw: int, minh: int) -> None

setMinimumWidth(self, minw: int) → None
setMouseTracking(self, enable: bool) → None
setMovie(self, movie: PySide2.QtGui.QMovie) → None
setNum(self, arg__1: float) → None

setNum(self, arg__1: int) -> None

setObjectName(self, name: str) → None
setPalette(self, arg__1: PySide2.QtGui.QPalette) → None
setParent(self, parent: PySide2.QtCore.QObject) → None

setParent(self, parent: PySide2.QtWidgets.QWidget) -> None setParent(self, parent: PySide2.QtWidgets.QWidget, f: PySide2.QtCore.Qt.WindowFlags) -> None

setPicture(self, arg__1: PySide2.QtGui.QPicture) → None
setPixmap(self, arg__1: PySide2.QtGui.QPixmap) → None
setProperty(self, name: bytes, value: typing.Any) → bool
setScaledContents(self, arg__1: bool) → None
setSelection(self, arg__1: int, arg__2: int) → None
setShortcutAutoRepeat(self, id: int, enable: bool = True) → None
setShortcutEnabled(self, id: int, enable: bool = True) → None
setSizeIncrement(self, arg__1: PySide2.QtCore.QSize) → None

setSizeIncrement(self, w: int, h: int) -> None

setSizePolicy(self, arg__1: PySide2.QtWidgets.QSizePolicy) → None

setSizePolicy(self, horizontal: PySide2.QtWidgets.QSizePolicy.Policy, vertical: PySide2.QtWidgets.QSizePolicy.Policy) -> None

setStatusTip(self, arg__1: str) → None
setStyle(self, arg__1: PySide2.QtWidgets.QStyle) → None
setStyleSheet(self, styleSheet: str) → None
static setTabOrder(arg__1: PySide2.QtWidgets.QWidget, arg__2: PySide2.QtWidgets.QWidget) → None
setTabletTracking(self, enable: bool) → None
setText(self, arg__1: str) → None
setTextFormat(self, arg__1: PySide2.QtCore.Qt.TextFormat) → None
setTextInteractionFlags(self, flags: PySide2.QtCore.Qt.TextInteractionFlags) → None
setToolTip(self, arg__1: str) → None
setToolTipDuration(self, msec: int) → None
setUpdatesEnabled(self, enable: bool) → None
setVisible(self, visible: bool) → None
setWhatsThis(self, arg__1: str) → None
setWindowFilePath(self, filePath: str) → None
setWindowFlag(self, arg__1: PySide2.QtCore.Qt.WindowType, on: bool = True) → None
setWindowFlags(self, type: PySide2.QtCore.Qt.WindowFlags) → None
setWindowIcon(self, icon: PySide2.QtGui.QIcon) → None
setWindowIconText(self, arg__1: str) → None
setWindowModality(self, windowModality: PySide2.QtCore.Qt.WindowModality) → None
setWindowModified(self, arg__1: bool) → None
setWindowOpacity(self, level: float) → None
setWindowRole(self, arg__1: str) → None
setWindowState(self, state: PySide2.QtCore.Qt.WindowStates) → None
setWindowTitle(self, arg__1: str) → None
setWordWrap(self, on: bool) → None
sharedPainter(self) → PySide2.QtGui.QPainter
show(self) → None
showEvent(self, event: PySide2.QtGui.QShowEvent) → None
showFullScreen(self) → None
showMaximized(self) → None
showMinimized(self) → None
showNormal(self) → None
signalsBlocked(self) → bool
size(self) → PySide2.QtCore.QSize
sizeHint(self) → PySide2.QtCore.QSize
sizeIncrement(self) → PySide2.QtCore.QSize
sizePolicy(self) → PySide2.QtWidgets.QSizePolicy
stackUnder(self, arg__1: PySide2.QtWidgets.QWidget) → None
startTimer(self, interval: int, timerType: PySide2.QtCore.Qt.TimerType = PySide2.QtCore.Qt.TimerType.CoarseTimer) → int
statusTip(self) → str
style(self) → PySide2.QtWidgets.QStyle
styleSheet(self) → str
tabletEvent(self, event: PySide2.QtGui.QTabletEvent) → None
testAttribute(self, arg__1: PySide2.QtCore.Qt.WidgetAttribute) → bool
text(self) → str
textFormat(self) → PySide2.QtCore.Qt.TextFormat
textInteractionFlags(self) → PySide2.QtCore.Qt.TextInteractionFlags
thread(self) → PySide2.QtCore.QThread
timerEvent(self, event: PySide2.QtCore.QTimerEvent) → None
toolTip(self) → str
toolTipDuration(self) → int
topLevelWidget(self) → PySide2.QtWidgets.QWidget
tr(self, arg__1: bytes, arg__2: bytes = b'', arg__3: int = -1) → str
underMouse(self) → bool
ungrabGesture(self, type: PySide2.QtCore.Qt.GestureType) → None
unsetCursor(self) → None
unsetLayoutDirection(self) → None
unsetLocale(self) → None
update(self) → None

update(self, arg__1: PySide2.QtCore.QRect) -> None update(self, arg__1: PySide2.QtGui.QRegion) -> None update(self, x: int, y: int, w: int, h: int) -> None

updateGeometry(self) → None
updateMicroFocus(self) → None
updatesEnabled(self) → bool
visibleRegion(self) → PySide2.QtGui.QRegion
whatsThis(self) → str
wheelEvent(self, event: PySide2.QtGui.QWheelEvent) → None
width(self) → int
widthMM(self) → int
winId(self) → int
window(self) → PySide2.QtWidgets.QWidget
windowFilePath(self) → str
windowFlags(self) → PySide2.QtCore.Qt.WindowFlags
windowHandle(self) → PySide2.QtGui.QWindow
windowIcon(self) → PySide2.QtGui.QIcon
windowIconText(self) → str
windowModality(self) → PySide2.QtCore.Qt.WindowModality
windowOpacity(self) → float
windowRole(self) → str
windowState(self) → PySide2.QtCore.Qt.WindowStates
windowTitle(self) → str
windowType(self) → PySide2.QtCore.Qt.WindowType
wordWrap(self) → bool
x(self) → int
y(self) → int


class overlay_widget.ShotgunModelOverlayWidget(sg_model, parent=None)[source]

Bases: overlay_widget.shotgun_overlay_widget.ShotgunOverlayWidget

A convenience class specifically designed to work with a ShotgunModel.

By using this class, multiple overlay widgets can be easily created and connected to the same shotgun model.


Set the model this widget should be connected to

Parameters:sg_model (ShotgunModel) – Shotgun model that this widget should connect to