Context Selector Widget

This widget is a standardized context selection UI, suitable to be dropped in when a Toolkit App needs a user to select a context:

_images/context_widget.png

The widget includes the following features:

  • Uses standard auto completers to allow a user to quickly find tasks or links.

  • Keeps recently selected tasks on the menu for quick lookup.

  • Shows related tasks for a given task or link.

  • Configurable to be just a viewer rather than a selector.

  • Configurable title

class context_selector.ContextWidget(parent)[source]

Widget which represents the current context and allows the user to search for a different context via search completer. A menu is also provided for recent contexts as well as tasks assigned to the user.

Signal context_changed(context_obj):

Fires when when the user selects a context.

Parameters:

parent (QObject) – The model parent.

save_recent_contexts()[source]

Should be called by the parent widget, typically when the dialog closes, to ensure the recent contexts are saved to disk when closing.

set_context(context, task_display_override=None, link_display_override=None)[source]

Set the context to display in the widget.

The initial display values can be overridden via the task and link override args.

Parameters:
  • context – Toolkit Context that the widget should be set to.

  • task_display_override (str) – Override text to be displayed for the task.

  • link_display_override (str) – Override text to be displayed for the link.

set_up(task_manager)[source]

Handles initial set up of the widget. Includes setting up menu, running any background set up tasks, etc.

Parameters:

task_manager (BackgroundTaskManager) – Background task manager to use

Specify what entries should show up in the list of links when using the auto completer.

For the simple case where you just want to show a given set of entity types, use restrict_entity_types(). This method is a more complex restriction suitable for workflows around publishing and review.

This method will look at the given link field (e.g. PublishedFile.entity) and inspect the shotgun schema to see which entity types are valid connections to this field (e.g. in this example which entity types can you can associate a publish with) and those types will appear in the list of items shown by the auto completer.

This is useful when you want to use the context widget in conjunction with workflows related to for example publishes, versions or notes and you want to restrict the entities displayed by the auto completer to the ones that have been configured in the shotgun site schema to be able to associate with the given type.

Parameters:
  • entity_type (str) – Entity type to restrict based on

  • field_name (str) – Shotgun field to restrict based on

restrict_entity_types(entity_types)[source]

Restrict which entity types should show up in the list of matches.

Parameters:

entity_types (list) – List of entity types

property context_label

The label for the context widget.

set_task_tooltip(tooltip)[source]

Specify a string (can be html) which should be shown as the tooltip for the task selection widget

Parameters:

tooltip (str) – Tooltip plaintext or html

Specify a string (can be html) which should be shown as the tooltip for the link selection widget

Parameters:

tooltip (str) – Tooltip plaintext or html

enable_editing(enabled, message=None)[source]

Show/hide the input widgets and display a message in the context label.

Parameters:
  • enabled (bool) – Indicates if task/link selectors should be shown

  • message (str) – Message to display on context_label()

acceptDrops(self) bool
accessibleDescription(self) str
accessibleName(self) str
actionEvent(self, event: PySide2.QtGui.QActionEvent) None
actions(self) List[PySide2.QtWidgets.QAction]
activateWindow(self) None
addAction(self, action: PySide2.QtWidgets.QAction) None
addActions(self, actions: Sequence[PySide2.QtWidgets.QAction]) None
adjustSize(self) None
autoFillBackground(self) bool
backgroundRole(self) PySide2.QtGui.QPalette.ColorRole
backingStore(self) PySide2.QtGui.QBackingStore
baseSize(self) PySide2.QtCore.QSize
blockSignals(self, b: bool) bool
changeEvent(self, event: 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) List[PySide2.QtCore.QObject]
childrenRect(self) PySide2.QtCore.QRect
childrenRegion(self) PySide2.QtGui.QRegion
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: Callable, type: PySide2.QtCore.Qt.ConnectionType = PySide2.QtCore.Qt.ConnectionType.AutoConnection) bool
static connect(self, arg__1: bytes, arg__2: Callable, type: PySide2.QtCore.Qt.ConnectionType = PySide2.QtCore.Qt.ConnectionType.AutoConnection) bool
static connect(self, arg__1: bytes, arg__2: PySide2.QtCore.QObject, arg__3: bytes, type: PySide2.QtCore.Qt.ConnectionType = PySide2.QtCore.Qt.ConnectionType.AutoConnection) bool
static connect(self, sender: PySide2.QtCore.QObject, signal: bytes, member: bytes, type: PySide2.QtCore.Qt.ConnectionType = PySide2.QtCore.Qt.ConnectionType.AutoConnection) PySide2.QtCore.QMetaObject.Connection
static 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
static 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, event: 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: 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
static disconnect(arg__1: PySide2.QtCore.QObject, arg__2: bytes, arg__3: Callable) bool
static disconnect(self, arg__1: bytes, arg__2: Callable) bool
static disconnect(self, receiver: PySide2.QtCore.QObject, member: Optional[bytes] = None) bool
static disconnect(self, signal: bytes, receiver: PySide2.QtCore.QObject, member: bytes) bool
static disconnect(sender: PySide2.QtCore.QObject, signal: PySide2.QtCore.QMetaMethod, receiver: PySide2.QtCore.QObject, member: PySide2.QtCore.QMetaMethod) bool
static 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
dropEvent(self, event: PySide2.QtGui.QDropEvent) None
dumpObjectInfo(self) None
dumpObjectTree(self) None
dynamicPropertyNames(self) 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, 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) Iterable
findChildren(self, arg__1: type, arg__2: PySide2.QtCore.QRegularExpression) Iterable
findChildren(self, arg__1: type, arg__2: str = '') Iterable
focusInEvent(self, event: PySide2.QtGui.QFocusEvent) None
focusNextChild(self) bool
focusNextPrevChild(self, next: bool) bool
focusOutEvent(self, event: 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
frameSize(self) PySide2.QtCore.QSize
geometry(self) PySide2.QtCore.QRect
getContentsMargins(self) 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
hasTabletTracking(self) bool
height(self) int
heightForWidth(self, arg__1: int) int
heightMM(self) int
hide(self) None
hideEvent(self, event: PySide2.QtGui.QHideEvent) None
inherits(self, classname: bytes) bool
initPainter(self, painter: PySide2.QtGui.QPainter) None
inputMethodEvent(self, event: PySide2.QtGui.QInputMethodEvent) None
inputMethodHints(self) PySide2.QtCore.Qt.InputMethodHints
inputMethodQuery(self, arg__1: PySide2.QtCore.Qt.InputMethodQuery) Any
insertAction(self, before: PySide2.QtWidgets.QAction, action: PySide2.QtWidgets.QAction) None
insertActions(self, before: PySide2.QtWidgets.QAction, actions: 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, event: 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
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
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
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, event: PySide2.QtGui.QMouseEvent) None
mousePressEvent(self, event: PySide2.QtGui.QMouseEvent) None
mouseReleaseEvent(self, event: 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
nativeEvent(self, eventType: PySide2.QtCore.QByteArray, message: int) 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
paintEvent(self, event: PySide2.QtGui.QPaintEvent) None
paintingActive(self) bool
palette(self) PySide2.QtGui.QPalette
parent(self) PySide2.QtCore.QObject
parentWidget(self) PySide2.QtWidgets.QWidget
physicalDpiX(self) int
physicalDpiY(self) int
pos(self) PySide2.QtCore.QPoint
previousInFocusChain(self) PySide2.QtWidgets.QWidget
property(self, name: bytes) 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
sender(self) PySide2.QtCore.QObject
senderSignalIndex(self) int
setAcceptDrops(self, on: bool) None
setAccessibleDescription(self, description: str) None
setAccessibleName(self, name: str) 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
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
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
setInputMethodHints(self, hints: PySide2.QtCore.Qt.InputMethodHints) None
setLayout(self, arg__1: PySide2.QtWidgets.QLayout) None
setLayoutDirection(self, direction: PySide2.QtCore.Qt.LayoutDirection) None
setLocale(self, locale: PySide2.QtCore.QLocale) 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
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
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
setProperty(self, name: bytes, value: Any) bool
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
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
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
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
x(self) int
y(self) int