populse_mia.user_interface.data_browser.data_browser¶
Module to define data browser tab appearance, settings and methods.
- Contains:
- Class:
DataBrowser
DateFormatDelegate
DateTimeFormatDelegate
NumberFormatDelegate
TableDataBrowser
TimeFormatDelegate
Classes
|
Widget that manages and displays the contents of the Data Browser tab. |
|
A custom delegate for handling date editing in table views. |
|
Custom delegate for displaying and editing datetime values in table views. |
|
Delegate for handling numeric input in table cells. |
|
Table widget that displays the documents contained in the database and their associated tags. |
|
Delegate for handling time data display and editing in table views. |
- populse_mia.user_interface.data_browser.data_browser.contextmanager(func)[source]¶
@contextmanager decorator.
Typical usage:
@contextmanager def some_generator(<arguments>):
<setup> try:
yield <value>
- finally:
<cleanup>
This makes this:
- with some_generator(<arguments>) as <variable>:
<body>
equivalent to this:
<setup> try:
<variable> = <value> <body>
- finally:
<cleanup>
- class populse_mia.user_interface.data_browser.data_browser.partial[source]¶
Bases:
objectpartial(func, *args, **keywords) - new function with partial application of the given arguments and keywords.
- args¶
tuple of arguments to future partial calls
- func¶
function object to use in future partial calls
- keywords¶
dictionary of keyword arguments to future partial calls
- class populse_mia.user_interface.data_browser.data_browser.Path(*args, **kwargs)[source]¶
Bases:
PurePathPurePath subclass that can make system calls.
Path represents a filesystem path but unlike PurePath, also offers methods to do system calls on path objects. Depending on your system, instantiating a Path will return either a PosixPath or a WindowsPath object. You can also instantiate a PosixPath or WindowsPath directly, but cannot instantiate a WindowsPath on a POSIX system or vice versa.
- stat(*, follow_symlinks=True)[source]¶
Return the result of the stat() system call on this path, like os.stat() does.
- lstat()[source]¶
Like stat(), except if the path points to a symlink, the symlink’s status information is returned, rather than its target’s.
- exists(*, follow_symlinks=True)[source]¶
Whether this path exists.
This method normally follows symlinks; to check whether a symlink exists, add the argument follow_symlinks=False.
- is_file()[source]¶
Whether this path is a regular file (also True for symlinks pointing to regular files).
- samefile(other_path)[source]¶
Return whether other_path is the same or not as this file (as returned by os.path.samefile()).
- open(mode='r', buffering=-1, encoding=None, errors=None, newline=None)[source]¶
Open the file pointed to by this path and return a file object, as the built-in open() function does.
- read_text(encoding=None, errors=None)[source]¶
Open the file in text mode, read it, and close the file.
- write_text(data, encoding=None, errors=None, newline=None)[source]¶
Open the file in text mode, write to it, and close the file.
- iterdir()[source]¶
Yield path objects of the directory contents.
The children are yielded in arbitrary order, and the special entries ‘.’ and ‘..’ are not included.
- glob(pattern, *, case_sensitive=None)[source]¶
Iterate over this subtree and yield all existing files (of any kind, including directories) matching the given relative pattern.
- rglob(pattern, *, case_sensitive=None)[source]¶
Recursively yield all existing files (of any kind, including directories) matching the given relative pattern, anywhere in this subtree.
- walk(top_down=True, on_error=None, follow_symlinks=False)[source]¶
Walk the directory tree from this directory, similar to os.walk().
- classmethod home()[source]¶
Return a new path pointing to the user’s home directory (as returned by os.path.expanduser(‘~’)).
- absolute()[source]¶
Return an absolute version of this path by prepending the current working directory. No normalization or symlink resolution is performed.
Use resolve() to get the canonical path to a file.
- resolve(strict=False)[source]¶
Make the path absolute, resolving all symlinks on the way and also normalizing it.
- touch(mode=438, exist_ok=True)[source]¶
Create this file with the given access mode, if it doesn’t exist.
- lchmod(mode)[source]¶
Like chmod(), except if the path points to a symlink, the symlink’s permissions are changed, rather than its target’s.
- unlink(missing_ok=False)[source]¶
Remove this file or link. If the path is a directory, use rmdir() instead.
- rename(target)[source]¶
Rename this path to the target path.
The target path may be absolute or relative. Relative paths are interpreted relative to the current working directory, not the directory of the Path object.
Returns the new Path instance pointing to the target path.
- replace(target)[source]¶
Rename this path to the target path, overwriting if that path exists.
The target path may be absolute or relative. Relative paths are interpreted relative to the current working directory, not the directory of the Path object.
Returns the new Path instance pointing to the target path.
- symlink_to(target, target_is_directory=False)[source]¶
Make this path a symlink pointing to the target path. Note the order of arguments (link, target) is the reverse of os.symlink.
- populse_mia.user_interface.data_browser.data_browser.get_origin(tp)[source]¶
Get the unsubscripted version of a type.
This supports generic types, Callable, Tuple, Union, Literal, Final, ClassVar, Annotated, and others. Return None for unsupported types.
Examples:
>>> P = ParamSpec('P') >>> assert get_origin(Literal[42]) is Literal >>> assert get_origin(int) is None >>> assert get_origin(ClassVar[int]) is ClassVar >>> assert get_origin(Generic) is Generic >>> assert get_origin(Generic[T]) is Generic >>> assert get_origin(Union[T, int]) is Union >>> assert get_origin(List[Tuple[T, T]][int]) is list >>> assert get_origin(P.args) is P
- class populse_mia.user_interface.data_browser.data_browser.Qt¶
Bases:
simplewrapper- AA_CompressHighFrequencyEvents = 25¶
- AA_CompressTabletEvents = 29¶
- AA_DisableHighDpiScaling = 21¶
- AA_DisableNativeVirtualKeyboard = 9¶
- AA_DisableSessionManager = 31¶
- AA_DisableShaderDiskCache = 27¶
- AA_DisableWindowContextHelpButton = 30¶
- AA_DontCheckOpenGLContextThreadAffinity = 26¶
- AA_DontCreateNativeWidgetSiblings = 4¶
- AA_DontShowIconsInMenus = 2¶
- AA_DontShowShortcutsInContextMenus = 28¶
- AA_DontUseNativeDialogs = 23¶
- AA_DontUseNativeMenuBar = 6¶
- AA_EnableHighDpiScaling = 20¶
- AA_ForceRasterWidgets = 14¶
- AA_ImmediateWidgetCreation = 0¶
- AA_MSWindowsUseDirect3DByDefault = 1¶
- AA_MacDontSwapCtrlAndMeta = 7¶
- AA_MacPluginApplication = 5¶
- AA_NativeWindows = 3¶
- AA_PluginApplication = 5¶
- AA_SetPalette = 19¶
- AA_SynthesizeMouseForUnhandledTabletEvents = 24¶
- AA_SynthesizeMouseForUnhandledTouchEvents = 12¶
- AA_SynthesizeTouchForUnhandledMouseEvents = 11¶
- AA_Use96Dpi = 8¶
- AA_UseDesktopOpenGL = 15¶
- AA_UseHighDpiPixmaps = 13¶
- AA_UseOpenGLES = 16¶
- AA_UseSoftwareOpenGL = 17¶
- AA_UseStyleSheetPropagationInWidgetStyles = 22¶
- AA_X11InitThreads = 10¶
- ALT = 134217728¶
- AbsoluteSize = 0¶
- AccessibleDescriptionRole = 12¶
- AccessibleTextRole = 11¶
- ActionMask = 255¶
- ActionsContextMenu = 2¶
- ActiveWindowFocusReason = 3¶
- AddToSelection = 1¶
- AlignAbsolute = 16¶
- AlignBaseline = 256¶
- AlignBottom = 64¶
- AlignCenter = 132¶
- AlignHCenter = 4¶
- AlignHorizontal_Mask = 31¶
- AlignJustify = 8¶
- AlignLeading = 1¶
- AlignLeft = 1¶
- AlignRight = 2¶
- AlignTop = 32¶
- AlignTrailing = 2¶
- AlignVCenter = 128¶
- AlignVertical_Mask = 480¶
- class Alignment¶
- class Alignment(f: Qt.Alignment | Qt.AlignmentFlag)
- class Alignment(a0: Qt.Alignment)
Bases:
simplewrapper
- AllButtons = 134217727¶
- AllDockWidgetAreas = 15¶
- AllToolBarAreas = 15¶
- AltModifier = 134217728¶
- AnchorBottom = 5¶
- AnchorHorizontalCenter = 1¶
- AnchorLeft = 0¶
- AnchorRight = 2¶
- AnchorTop = 3¶
- AnchorVerticalCenter = 4¶
- ApplicationActive = 4¶
- ApplicationHidden = 1¶
- ApplicationInactive = 2¶
- ApplicationModal = 2¶
- ApplicationShortcut = 2¶
- class ApplicationStates¶
- class ApplicationStates(f: Qt.ApplicationStates | Qt.ApplicationState)
- class ApplicationStates(a0: Qt.ApplicationStates)
Bases:
simplewrapper
- ApplicationSuspended = 0¶
- ArrowCursor = 0¶
- AscendingOrder = 0¶
- AutoColor = 0¶
- AutoConnection = 0¶
- AutoDither = 0¶
- AutoText = 2¶
- AvoidDither = 128¶
- BDiagPattern = 12¶
- BackButton = 8¶
- BackgroundColorRole = 8¶
- BackgroundRole = 8¶
- BacktabFocusReason = 2¶
- BeginNativeGesture = 0¶
- BevelJoin = 64¶
- BitmapCursor = 24¶
- BlankCursor = 10¶
- BlockingQueuedConnection = 3¶
- BottomDockWidgetArea = 8¶
- BottomEdge = 8¶
- BottomLeftCorner = 2¶
- BottomLeftSection = 8¶
- BottomRightCorner = 3¶
- BottomRightSection = 6¶
- BottomSection = 7¶
- BottomToolBarArea = 8¶
- BusyCursor = 16¶
- BypassGraphicsProxyWidget = 536870912¶
- BypassWindowManagerHint = 1024¶
- CTRL = 67108864¶
- CaseInsensitive = 0¶
- CaseSensitive = 1¶
- Ceil = 2¶
- CheckStateRole = 10¶
- Checked = 2¶
- ChecksumIso3309 = 0¶
- ChecksumItuV41 = 1¶
- ClickFocus = 2¶
- ClosedHandCursor = 18¶
- CoarseTimer = 1¶
- ColorOnly = 3¶
- ConicalGradientPattern = 17¶
- ContainsItemBoundingRect = 2¶
- ContainsItemShape = 0¶
- ControlModifier = 67108864¶
- CopyAction = 1¶
- CoverWindow = 65¶
- CrossCursor = 2¶
- CrossPattern = 11¶
- CustomContextMenu = 3¶
- CustomCursor = 25¶
- CustomDashLine = 6¶
- CustomGesture = 256¶
- CustomizeWindowHint = 33554432¶
- DashDotDotLine = 5¶
- DashDotLine = 4¶
- DashLine = 2¶
- DecorationRole = 1¶
- DefaultContextMenu = 1¶
- DefaultLocaleLongDate = 7¶
- DefaultLocaleShortDate = 6¶
- Dense1Pattern = 2¶
- Dense2Pattern = 3¶
- Dense3Pattern = 4¶
- Dense4Pattern = 5¶
- Dense5Pattern = 6¶
- Dense6Pattern = 7¶
- Dense7Pattern = 8¶
- DescendingOrder = 1¶
- Desktop = 17¶
- DeviceCoordinates = 0¶
- DiagCrossPattern = 14¶
- Dialog = 3¶
- DiffuseAlphaDither = 8¶
- DiffuseDither = 0¶
- DirectConnection = 1¶
- DisplayRole = 0¶
- DockWidgetArea_Mask = 15¶
- class DockWidgetAreas¶
- class DockWidgetAreas(f: Qt.DockWidgetAreas | Qt.DockWidgetArea)
- class DockWidgetAreas(a0: Qt.DockWidgetAreas)
Bases:
simplewrapper
- DontStartGestureOnChildren = 1¶
- DotLine = 3¶
- DownArrow = 2¶
- DragCopyCursor = 19¶
- DragLinkCursor = 21¶
- DragMoveCursor = 20¶
- Drawer = 7¶
- class DropActions¶
- class DropActions(f: Qt.DropActions | Qt.DropAction)
- class DropActions(a0: Qt.DropActions)
Bases:
simplewrapper
- EditRole = 2¶
- ElideLeft = 0¶
- ElideMiddle = 2¶
- ElideNone = 3¶
- ElideRight = 1¶
- EndNativeGesture = 1¶
- EnterKeyDefault = 0¶
- EnterKeyDone = 2¶
- EnterKeyGo = 3¶
- EnterKeyNext = 6¶
- EnterKeyPrevious = 7¶
- EnterKeyReturn = 1¶
- EnterKeySearch = 5¶
- EnterKeySend = 4¶
- ExactHit = 0¶
- ExtraButton1 = 8¶
- ExtraButton10 = 4096¶
- ExtraButton11 = 8192¶
- ExtraButton12 = 16384¶
- ExtraButton13 = 32768¶
- ExtraButton14 = 65536¶
- ExtraButton15 = 131072¶
- ExtraButton16 = 262144¶
- ExtraButton17 = 524288¶
- ExtraButton18 = 1048576¶
- ExtraButton19 = 2097152¶
- ExtraButton2 = 16¶
- ExtraButton20 = 4194304¶
- ExtraButton21 = 8388608¶
- ExtraButton22 = 16777216¶
- ExtraButton23 = 33554432¶
- ExtraButton24 = 67108864¶
- ExtraButton3 = 32¶
- ExtraButton4 = 64¶
- ExtraButton5 = 128¶
- ExtraButton6 = 256¶
- ExtraButton7 = 512¶
- ExtraButton8 = 1024¶
- ExtraButton9 = 2048¶
- FDiagPattern = 13¶
- FastTransformation = 0¶
- class FindChildOptions¶
- class FindChildOptions(f: Qt.FindChildOptions | Qt.FindChildOption)
- class FindChildOptions(a0: Qt.FindChildOptions)
Bases:
simplewrapper
- FindChildrenRecursively = 1¶
- FindDirectChildrenOnly = 0¶
- FlatCap = 0¶
- Floor = 3¶
- FontRole = 6¶
- ForbiddenCursor = 14¶
- ForegroundRole = 9¶
- ForeignWindow = 33¶
- ForwardButton = 16¶
- FramelessWindowHint = 2048¶
- Friday = 5¶
- FuzzyHit = 1¶
- GestureCanceled = 4¶
- GestureFinished = 3¶
- class GestureFlags¶
- class GestureFlags(f: Qt.GestureFlags | Qt.GestureFlag)
- class GestureFlags(a0: Qt.GestureFlags)
Bases:
simplewrapper
- GestureStarted = 1¶
- GestureUpdated = 2¶
- GroupSwitchModifier = 1073741824¶
- class HighDpiScaleFactorRoundingPolicy(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)¶
Bases:
IntEnum- Ceil = 2¶
- Floor = 3¶
- PassThrough = 5¶
- Round = 1¶
- RoundPreferFloor = 4¶
- HighDpiScaleFactorRoundingPolicys¶
alias of
HighDpiScaleFactorRoundingPolicy
- HighEventPriority = 1¶
- HorPattern = 9¶
- Horizontal = 1¶
- IBeamCursor = 4¶
- ISODate = 1¶
- ISODateWithMs = 9¶
- IgnoreAction = 0¶
- IgnoreAspectRatio = 0¶
- IgnoredGesturesPropagateToParent = 4¶
- ImAbsolutePosition = 1024¶
- ImAnchorPosition = 128¶
- ImAnchorRectangle = 16384¶
- ImCurrentSelection = 32¶
- ImCursorPosition = 8¶
- ImCursorRectangle = 2¶
- ImEnabled = 1¶
- ImEnterKeyType = 8192¶
- ImFont = 4¶
- ImHints = 256¶
- ImInputItemClipRectangle = 32768¶
- ImMaximumTextLength = 64¶
- ImMicroFocus = 2¶
- ImPlatformData = -2147483648¶
- ImPreferredLanguage = 512¶
- ImQueryAll = -1¶
- ImQueryInput = 16570¶
- ImSurroundingText = 16¶
- ImTextAfterCursor = 4096¶
- ImTextBeforeCursor = 2048¶
- class ImageConversionFlags¶
- class ImageConversionFlags(f: Qt.ImageConversionFlags | Qt.ImageConversionFlag)
- class ImageConversionFlags(a0: Qt.ImageConversionFlags)
Bases:
simplewrapper
- ImhDate = 128¶
- ImhDialableCharactersOnly = 1048576¶
- ImhDigitsOnly = 65536¶
- ImhEmailCharactersOnly = 2097152¶
- ImhExclusiveInputMask = -65536¶
- ImhFormattedNumbersOnly = 131072¶
- ImhHiddenText = 1¶
- ImhLatinOnly = 8388608¶
- ImhLowercaseOnly = 524288¶
- ImhMultiLine = 1024¶
- ImhNoAutoUppercase = 4¶
- ImhNoEditMenu = 2048¶
- ImhNoPredictiveText = 64¶
- ImhNoTextHandles = 4096¶
- ImhNone = 0¶
- ImhPreferLatin = 512¶
- ImhPreferLowercase = 32¶
- ImhPreferNumbers = 8¶
- ImhPreferUppercase = 16¶
- ImhSensitiveData = 2¶
- ImhTime = 256¶
- ImhUppercaseOnly = 262144¶
- ImhUrlCharactersOnly = 4194304¶
- InitialSortOrderRole = 14¶
- class InputMethodHints¶
- class InputMethodHints(f: Qt.InputMethodHints | Qt.InputMethodHint)
- class InputMethodHints(a0: Qt.InputMethodHints)
Bases:
simplewrapper
- class InputMethodQueries¶
- class InputMethodQueries(f: Qt.InputMethodQueries | Qt.InputMethodQuery)
- class InputMethodQueries(a0: Qt.InputMethodQueries)
Bases:
simplewrapper
- IntersectClip = 2¶
- IntersectsItemBoundingRect = 3¶
- IntersectsItemShape = 1¶
- InvertedLandscapeOrientation = 8¶
- InvertedPortraitOrientation = 4¶
- class ItemFlags¶
- class ItemFlags(f: Qt.ItemFlags | Qt.ItemFlag)
- class ItemFlags(a0: Qt.ItemFlags)
Bases:
simplewrapper
- ItemIsAutoTristate = 64¶
- ItemIsDragEnabled = 4¶
- ItemIsDropEnabled = 8¶
- ItemIsEditable = 2¶
- ItemIsEnabled = 32¶
- ItemIsSelectable = 1¶
- ItemIsTristate = 64¶
- ItemIsUserCheckable = 16¶
- ItemIsUserTristate = 256¶
- ItemNeverHasChildren = 128¶
- KeepAspectRatio = 1¶
- KeepAspectRatioByExpanding = 2¶
- Key_0 = 48¶
- Key_1 = 49¶
- Key_2 = 50¶
- Key_3 = 51¶
- Key_4 = 52¶
- Key_5 = 53¶
- Key_6 = 54¶
- Key_7 = 55¶
- Key_8 = 56¶
- Key_9 = 57¶
- Key_A = 65¶
- Key_AE = 198¶
- Key_Aacute = 193¶
- Key_Acircumflex = 194¶
- Key_AddFavorite = 16777408¶
- Key_Adiaeresis = 196¶
- Key_Agrave = 192¶
- Key_Alt = 16777251¶
- Key_AltGr = 16781571¶
- Key_Ampersand = 38¶
- Key_Any = 32¶
- Key_Apostrophe = 39¶
- Key_ApplicationLeft = 16777415¶
- Key_ApplicationRight = 16777416¶
- Key_Aring = 197¶
- Key_AsciiCircum = 94¶
- Key_AsciiTilde = 126¶
- Key_Asterisk = 42¶
- Key_At = 64¶
- Key_Atilde = 195¶
- Key_AudioCycleTrack = 16777478¶
- Key_AudioForward = 16777474¶
- Key_AudioRandomPlay = 16777476¶
- Key_AudioRepeat = 16777475¶
- Key_AudioRewind = 16777413¶
- Key_Away = 16777464¶
- Key_B = 66¶
- Key_Back = 16777313¶
- Key_BackForward = 16777414¶
- Key_Backslash = 92¶
- Key_Backspace = 16777219¶
- Key_Backtab = 16777218¶
- Key_Bar = 124¶
- Key_BassBoost = 16777331¶
- Key_BassDown = 16777333¶
- Key_BassUp = 16777332¶
- Key_Battery = 16777470¶
- Key_Blue = 16777495¶
- Key_Bluetooth = 16777471¶
- Key_Book = 16777417¶
- Key_BraceLeft = 123¶
- Key_BraceRight = 125¶
- Key_BracketLeft = 91¶
- Key_BracketRight = 93¶
- Key_BrightnessAdjust = 16777410¶
- Key_C = 67¶
- Key_CD = 16777418¶
- Key_Calculator = 16777419¶
- Key_Calendar = 16777444¶
- Key_Call = 17825796¶
- Key_Camera = 17825824¶
- Key_CameraFocus = 17825825¶
- Key_Cancel = 16908289¶
- Key_CapsLock = 16777252¶
- Key_Ccedilla = 199¶
- Key_ChannelDown = 16777497¶
- Key_ChannelUp = 16777496¶
- Key_Clear = 16777227¶
- Key_ClearGrab = 16777421¶
- Key_Close = 16777422¶
- Key_Codeinput = 16781623¶
- Key_Colon = 58¶
- Key_Comma = 44¶
- Key_Community = 16777412¶
- Key_Context1 = 17825792¶
- Key_Context2 = 17825793¶
- Key_Context3 = 17825794¶
- Key_Context4 = 17825795¶
- Key_ContrastAdjust = 16777485¶
- Key_Control = 16777249¶
- Key_Copy = 16777423¶
- Key_Cut = 16777424¶
- Key_D = 68¶
- Key_DOS = 16777426¶
- Key_Dead_A = 16781953¶
- Key_Dead_Abovecomma = 16781924¶
- Key_Dead_Abovedot = 16781910¶
- Key_Dead_Abovereversedcomma = 16781925¶
- Key_Dead_Abovering = 16781912¶
- Key_Dead_Aboveverticalline = 16781969¶
- Key_Dead_Acute = 16781905¶
- Key_Dead_Belowbreve = 16781931¶
- Key_Dead_Belowcircumflex = 16781929¶
- Key_Dead_Belowcomma = 16781934¶
- Key_Dead_Belowdiaeresis = 16781932¶
- Key_Dead_Belowdot = 16781920¶
- Key_Dead_Belowmacron = 16781928¶
- Key_Dead_Belowring = 16781927¶
- Key_Dead_Belowtilde = 16781930¶
- Key_Dead_Belowverticalline = 16781970¶
- Key_Dead_Breve = 16781909¶
- Key_Dead_Capital_Schwa = 16781963¶
- Key_Dead_Caron = 16781914¶
- Key_Dead_Cedilla = 16781915¶
- Key_Dead_Circumflex = 16781906¶
- Key_Dead_Currency = 16781935¶
- Key_Dead_Diaeresis = 16781911¶
- Key_Dead_Doubleacute = 16781913¶
- Key_Dead_Doublegrave = 16781926¶
- Key_Dead_E = 16781955¶
- Key_Dead_Grave = 16781904¶
- Key_Dead_Greek = 16781964¶
- Key_Dead_Hook = 16781921¶
- Key_Dead_Horn = 16781922¶
- Key_Dead_I = 16781957¶
- Key_Dead_Invertedbreve = 16781933¶
- Key_Dead_Iota = 16781917¶
- Key_Dead_Longsolidusoverlay = 16781971¶
- Key_Dead_Lowline = 16781968¶
- Key_Dead_Macron = 16781908¶
- Key_Dead_O = 16781959¶
- Key_Dead_Ogonek = 16781916¶
- Key_Dead_Semivoiced_Sound = 16781919¶
- Key_Dead_Small_Schwa = 16781962¶
- Key_Dead_Stroke = 16781923¶
- Key_Dead_Tilde = 16781907¶
- Key_Dead_U = 16781961¶
- Key_Dead_Voiced_Sound = 16781918¶
- Key_Dead_a = 16781952¶
- Key_Dead_e = 16781954¶
- Key_Dead_i = 16781956¶
- Key_Dead_o = 16781958¶
- Key_Dead_u = 16781960¶
- Key_Delete = 16777223¶
- Key_Direction_L = 16777305¶
- Key_Direction_R = 16777312¶
- Key_Display = 16777425¶
- Key_Documents = 16777427¶
- Key_Dollar = 36¶
- Key_Down = 16777237¶
- Key_E = 69¶
- Key_ETH = 208¶
- Key_Eacute = 201¶
- Key_Ecircumflex = 202¶
- Key_Ediaeresis = 203¶
- Key_Egrave = 200¶
- Key_Eisu_Shift = 16781615¶
- Key_Eisu_toggle = 16781616¶
- Key_Eject = 16777401¶
- Key_End = 16777233¶
- Key_Enter = 16777221¶
- Key_Equal = 61¶
- Key_Escape = 16777216¶
- Key_Excel = 16777428¶
- Key_Exclam = 33¶
- Key_Execute = 16908291¶
- Key_Exit = 16908298¶
- Key_Explorer = 16777429¶
- Key_F = 70¶
- Key_F1 = 16777264¶
- Key_F10 = 16777273¶
- Key_F11 = 16777274¶
- Key_F12 = 16777275¶
- Key_F13 = 16777276¶
- Key_F14 = 16777277¶
- Key_F15 = 16777278¶
- Key_F16 = 16777279¶
- Key_F17 = 16777280¶
- Key_F18 = 16777281¶
- Key_F19 = 16777282¶
- Key_F2 = 16777265¶
- Key_F20 = 16777283¶
- Key_F21 = 16777284¶
- Key_F22 = 16777285¶
- Key_F23 = 16777286¶
- Key_F24 = 16777287¶
- Key_F25 = 16777288¶
- Key_F26 = 16777289¶
- Key_F27 = 16777290¶
- Key_F28 = 16777291¶
- Key_F29 = 16777292¶
- Key_F3 = 16777266¶
- Key_F30 = 16777293¶
- Key_F31 = 16777294¶
- Key_F32 = 16777295¶
- Key_F33 = 16777296¶
- Key_F34 = 16777297¶
- Key_F35 = 16777298¶
- Key_F4 = 16777267¶
- Key_F5 = 16777268¶
- Key_F6 = 16777269¶
- Key_F7 = 16777270¶
- Key_F8 = 16777271¶
- Key_F9 = 16777272¶
- Key_Favorites = 16777361¶
- Key_Finance = 16777411¶
- Key_Find = 16777506¶
- Key_Flip = 17825798¶
- Key_Forward = 16777314¶
- Key_G = 71¶
- Key_Game = 16777430¶
- Key_Go = 16777431¶
- Key_Greater = 62¶
- Key_Green = 16777493¶
- Key_Guide = 16777498¶
- Key_H = 72¶
- Key_Hangul = 16781617¶
- Key_Hangul_Banja = 16781625¶
- Key_Hangul_End = 16781619¶
- Key_Hangul_Hanja = 16781620¶
- Key_Hangul_Jamo = 16781621¶
- Key_Hangul_Jeonja = 16781624¶
- Key_Hangul_PostHanja = 16781627¶
- Key_Hangul_PreHanja = 16781626¶
- Key_Hangul_Romaja = 16781622¶
- Key_Hangul_Special = 16781631¶
- Key_Hangul_Start = 16781618¶
- Key_Hangup = 17825797¶
- Key_Hankaku = 16781609¶
- Key_Help = 16777304¶
- Key_Henkan = 16781603¶
- Key_Hibernate = 16777480¶
- Key_Hiragana = 16781605¶
- Key_Hiragana_Katakana = 16781607¶
- Key_History = 16777407¶
- Key_Home = 16777232¶
- Key_HomePage = 16777360¶
- Key_HotLinks = 16777409¶
- Key_Hyper_L = 16777302¶
- Key_Hyper_R = 16777303¶
- Key_I = 73¶
- Key_Iacute = 205¶
- Key_Icircumflex = 206¶
- Key_Idiaeresis = 207¶
- Key_Igrave = 204¶
- Key_Info = 16777499¶
- Key_Insert = 16777222¶
- Key_J = 74¶
- Key_K = 75¶
- Key_Kana_Lock = 16781613¶
- Key_Kana_Shift = 16781614¶
- Key_Kanji = 16781601¶
- Key_Katakana = 16781606¶
- Key_KeyboardBrightnessDown = 16777398¶
- Key_KeyboardBrightnessUp = 16777397¶
- Key_KeyboardLightOnOff = 16777396¶
- Key_L = 76¶
- Key_LastNumberRedial = 17825801¶
- Key_Launch0 = 16777378¶
- Key_Launch1 = 16777379¶
- Key_Launch2 = 16777380¶
- Key_Launch3 = 16777381¶
- Key_Launch4 = 16777382¶
- Key_Launch5 = 16777383¶
- Key_Launch6 = 16777384¶
- Key_Launch7 = 16777385¶
- Key_Launch8 = 16777386¶
- Key_Launch9 = 16777387¶
- Key_LaunchA = 16777388¶
- Key_LaunchB = 16777389¶
- Key_LaunchC = 16777390¶
- Key_LaunchD = 16777391¶
- Key_LaunchE = 16777392¶
- Key_LaunchF = 16777393¶
- Key_LaunchG = 16777486¶
- Key_LaunchH = 16777487¶
- Key_LaunchMail = 16777376¶
- Key_LaunchMedia = 16777377¶
- Key_Left = 16777234¶
- Key_Less = 60¶
- Key_LightBulb = 16777405¶
- Key_LogOff = 16777433¶
- Key_M = 77¶
- Key_MailForward = 16777467¶
- Key_Market = 16777434¶
- Key_Massyo = 16781612¶
- Key_MediaLast = 16842751¶
- Key_MediaNext = 16777347¶
- Key_MediaPause = 16777349¶
- Key_MediaPlay = 16777344¶
- Key_MediaPrevious = 16777346¶
- Key_MediaRecord = 16777348¶
- Key_MediaStop = 16777345¶
- Key_MediaTogglePlayPause = 16777350¶
- Key_Meeting = 16777435¶
- Key_Memo = 16777404¶
- Key_Menu = 16777301¶
- Key_MenuKB = 16777436¶
- Key_MenuPB = 16777437¶
- Key_Messenger = 16777465¶
- Key_Meta = 16777250¶
- Key_MicMute = 16777491¶
- Key_MicVolumeDown = 16777502¶
- Key_MicVolumeUp = 16777501¶
- Key_Minus = 45¶
- Key_Mode_switch = 16781694¶
- Key_MonBrightnessDown = 16777395¶
- Key_MonBrightnessUp = 16777394¶
- Key_Muhenkan = 16781602¶
- Key_Multi_key = 16781600¶
- Key_MultipleCandidate = 16781629¶
- Key_Music = 16777469¶
- Key_MySites = 16777438¶
- Key_N = 78¶
- Key_New = 16777504¶
- Key_News = 16777439¶
- Key_No = 16842754¶
- Key_Ntilde = 209¶
- Key_NumLock = 16777253¶
- Key_NumberSign = 35¶
- Key_O = 79¶
- Key_Oacute = 211¶
- Key_Ocircumflex = 212¶
- Key_Odiaeresis = 214¶
- Key_OfficeHome = 16777440¶
- Key_Ograve = 210¶
- Key_Ooblique = 216¶
- Key_Open = 16777505¶
- Key_OpenUrl = 16777364¶
- Key_Option = 16777441¶
- Key_Otilde = 213¶
- Key_P = 80¶
- Key_PageDown = 16777239¶
- Key_PageUp = 16777238¶
- Key_ParenLeft = 40¶
- Key_ParenRight = 41¶
- Key_Paste = 16777442¶
- Key_Pause = 16777224¶
- Key_Percent = 37¶
- Key_Period = 46¶
- Key_Phone = 16777443¶
- Key_Pictures = 16777468¶
- Key_Play = 16908293¶
- Key_Plus = 43¶
- Key_PowerDown = 16777483¶
- Key_PowerOff = 16777399¶
- Key_PreviousCandidate = 16781630¶
- Key_Print = 16777225¶
- Key_Printer = 16908290¶
- Key_Q = 81¶
- Key_Question = 63¶
- Key_QuoteDbl = 34¶
- Key_QuoteLeft = 96¶
- Key_R = 82¶
- Key_Red = 16777492¶
- Key_Redo = 16777508¶
- Key_Refresh = 16777316¶
- Key_Reload = 16777446¶
- Key_Reply = 16777445¶
- Key_Return = 16777220¶
- Key_Right = 16777236¶
- Key_Romaji = 16781604¶
- Key_RotateWindows = 16777447¶
- Key_RotationKB = 16777449¶
- Key_RotationPB = 16777448¶
- Key_S = 83¶
- Key_Save = 16777450¶
- Key_ScreenSaver = 16777402¶
- Key_ScrollLock = 16777254¶
- Key_Search = 16777362¶
- Key_Select = 16842752¶
- Key_Semicolon = 59¶
- Key_Send = 16777451¶
- Key_Settings = 16777500¶
- Key_Shift = 16777248¶
- Key_Shop = 16777406¶
- Key_SingleCandidate = 16781628¶
- Key_Slash = 47¶
- Key_Sleep = 16908292¶
- Key_Space = 32¶
- Key_Spell = 16777452¶
- Key_SplitScreen = 16777453¶
- Key_Standby = 16777363¶
- Key_Stop = 16777315¶
- Key_Subtitle = 16777477¶
- Key_Super_L = 16777299¶
- Key_Super_R = 16777300¶
- Key_Support = 16777454¶
- Key_Suspend = 16777484¶
- Key_SysReq = 16777226¶
- Key_T = 84¶
- Key_THORN = 222¶
- Key_Tab = 16777217¶
- Key_TaskPane = 16777455¶
- Key_Terminal = 16777456¶
- Key_Time = 16777479¶
- Key_ToDoList = 16777420¶
- Key_ToggleCallHangup = 17825799¶
- Key_Tools = 16777457¶
- Key_TopMenu = 16777482¶
- Key_TouchpadOff = 16777490¶
- Key_TouchpadOn = 16777489¶
- Key_TouchpadToggle = 16777488¶
- Key_Touroku = 16781611¶
- Key_Travel = 16777458¶
- Key_TrebleDown = 16777335¶
- Key_TrebleUp = 16777334¶
- Key_U = 85¶
- Key_UWB = 16777473¶
- Key_Uacute = 218¶
- Key_Ucircumflex = 219¶
- Key_Udiaeresis = 220¶
- Key_Ugrave = 217¶
- Key_Underscore = 95¶
- Key_Undo = 16777507¶
- Key_Up = 16777235¶
- Key_V = 86¶
- Key_Video = 16777459¶
- Key_View = 16777481¶
- Key_VoiceDial = 17825800¶
- Key_VolumeDown = 16777328¶
- Key_VolumeMute = 16777329¶
- Key_VolumeUp = 16777330¶
- Key_W = 87¶
- Key_WLAN = 16777472¶
- Key_WWW = 16777403¶
- Key_WakeUp = 16777400¶
- Key_WebCam = 16777466¶
- Key_Word = 16777460¶
- Key_X = 88¶
- Key_Xfer = 16777461¶
- Key_Y = 89¶
- Key_Yacute = 221¶
- Key_Yellow = 16777494¶
- Key_Yes = 16842753¶
- Key_Z = 90¶
- Key_Zenkaku = 16781608¶
- Key_Zenkaku_Hankaku = 16781610¶
- Key_Zoom = 16908294¶
- Key_ZoomIn = 16777462¶
- Key_ZoomOut = 16777463¶
- Key_acute = 180¶
- Key_brokenbar = 166¶
- Key_cedilla = 184¶
- Key_cent = 162¶
- Key_copyright = 169¶
- Key_currency = 164¶
- Key_degree = 176¶
- Key_diaeresis = 168¶
- Key_division = 247¶
- Key_exclamdown = 161¶
- Key_guillemotleft = 171¶
- Key_guillemotright = 187¶
- Key_hyphen = 173¶
- Key_iTouch = 16777432¶
- Key_macron = 175¶
- Key_masculine = 186¶
- Key_mu = 181¶
- Key_multiply = 215¶
- Key_nobreakspace = 160¶
- Key_notsign = 172¶
- Key_onehalf = 189¶
- Key_onequarter = 188¶
- Key_onesuperior = 185¶
- Key_ordfeminine = 170¶
- Key_paragraph = 182¶
- Key_periodcentered = 183¶
- Key_plusminus = 177¶
- Key_questiondown = 191¶
- Key_registered = 174¶
- Key_section = 167¶
- Key_ssharp = 223¶
- Key_sterling = 163¶
- Key_threequarters = 190¶
- Key_threesuperior = 179¶
- Key_twosuperior = 178¶
- Key_unknown = 33554431¶
- Key_ydiaeresis = 255¶
- Key_yen = 165¶
- KeyboardModifierMask = -33554432¶
- class KeyboardModifiers¶
- class KeyboardModifiers(f: Qt.KeyboardModifiers | Qt.KeyboardModifier)
- class KeyboardModifiers(a0: Qt.KeyboardModifiers)
Bases:
simplewrapper
- KeypadModifier = 536870912¶
- LandscapeOrientation = 2¶
- LastCursor = 21¶
- LayoutDirectionAuto = 2¶
- LeftArrow = 3¶
- LeftButton = 1¶
- LeftDockWidgetArea = 1¶
- LeftEdge = 2¶
- LeftSection = 1¶
- LeftToRight = 0¶
- LeftToolBarArea = 1¶
- LinearGradientPattern = 15¶
- LinkAction = 4¶
- LinksAccessibleByKeyboard = 8¶
- LinksAccessibleByMouse = 4¶
- LocalDate = 2¶
- LocalTime = 0¶
- LocaleDate = 3¶
- LogicalCoordinates = 1¶
- LogicalMoveStyle = 0¶
- LowEventPriority = -1¶
- META = 268435456¶
- MODIFIER_MASK = -33554432¶
- MPenCapStyle = 48¶
- MPenJoinStyle = 448¶
- MPenStyle = 15¶
- MSWindowsFixedSizeDialogHint = 256¶
- MSWindowsOwnDC = 512¶
- MacWindowToolBarButtonHint = 268435456¶
- MarkdownText = 3¶
- MaskInColor = 0¶
- MaskOutColor = 1¶
- MatchCaseSensitive = 16¶
- MatchContains = 1¶
- MatchEndsWith = 3¶
- MatchExactly = 0¶
- MatchFixedString = 8¶
- class MatchFlags¶
- class MatchFlags(f: Qt.MatchFlags | Qt.MatchFlag)
- class MatchFlags(a0: Qt.MatchFlags)
Bases:
simplewrapper
- MatchRecursive = 64¶
- MatchRegExp = 4¶
- MatchRegularExpression = 9¶
- MatchStartsWith = 2¶
- MatchWildcard = 5¶
- MatchWrap = 32¶
- MaximizeUsingFullscreenGeometryHint = 4194304¶
- MaximumSize = 2¶
- MenuBarFocusReason = 6¶
- MetaModifier = 268435456¶
- MidButton = 4¶
- MiddleButton = 4¶
- MinimumDescent = 3¶
- MinimumSize = 0¶
- MiterJoin = 0¶
- Monday = 1¶
- MonoOnly = 2¶
- class MouseButtons¶
- class MouseButtons(f: Qt.MouseButtons | Qt.MouseButton)
- class MouseButtons(a0: Qt.MouseButtons)
Bases:
simplewrapper
- MouseEventCreatedDoubleClick = 1¶
- class MouseEventFlags¶
- class MouseEventFlags(f: Qt.MouseEventFlags | Qt.MouseEventFlag)
- class MouseEventFlags(a0: Qt.MouseEventFlags)
Bases:
simplewrapper
- MouseEventNotSynthesized = 0¶
- MouseEventSynthesizedByApplication = 3¶
- MouseEventSynthesizedByQt = 2¶
- MouseEventSynthesizedBySystem = 1¶
- MouseFocusReason = 0¶
- MoveAction = 2¶
Bases:
int
- NoArrow = 0¶
- NoBrush = 0¶
- NoButton = 0¶
- NoClip = 0¶
- NoContextMenu = 0¶
- NoDockWidgetArea = 0¶
- NoDropShadowWindowHint = 1073741824¶
- NoFocus = 0¶
- NoFocusReason = 8¶
- NoFormatConversion = 512¶
- NoItemFlags = 0¶
- NoModifier = 0¶
- NoOpaqueDetection = 256¶
- NoPen = 0¶
- NoScrollPhase = 0¶
- NoSection = 0¶
- NoTabFocus = 0¶
- NoTextInteraction = 0¶
- NoToolBarArea = 0¶
- NonModal = 0¶
- NormalEventPriority = 0¶
- OddEvenFill = 0¶
- OffsetFromUTC = 2¶
- OpaqueMode = 1¶
- OpenHandCursor = 17¶
- OrderedAlphaDither = 4¶
- OrderedDither = 16¶
- class Orientations¶
- class Orientations(f: Qt.Orientations | Qt.Orientation)
- class Orientations(a0: Qt.Orientations)
Bases:
simplewrapper
- OtherFocusReason = 7¶
- PanGesture = 3¶
- PanNativeGesture = 2¶
- PartiallyChecked = 1¶
- PassThrough = 5¶
- PinchGesture = 4¶
- PlainText = 0¶
- PointingHandCursor = 13¶
- Popup = 9¶
- PopupFocusReason = 4¶
- PortraitOrientation = 1¶
- PreciseTimer = 0¶
- PreferDither = 64¶
- PreferredSize = 1¶
- PreventContextMenu = 4¶
- PrimaryOrientation = 0¶
- QueuedConnection = 2¶
- RFC2822Date = 8¶
- RadialGradientPattern = 16¶
- ReceivePartialGestures = 2¶
- RelativeSize = 1¶
- RepeatTile = 1¶
- ReplaceClip = 1¶
- ReplaceSelection = 0¶
- RichText = 1¶
- RightArrow = 4¶
- RightButton = 2¶
- RightDockWidgetArea = 2¶
- RightEdge = 4¶
- RightSection = 5¶
- RightToLeft = 1¶
- RightToolBarArea = 2¶
- RotateNativeGesture = 5¶
- Round = 1¶
- RoundCap = 32¶
- RoundJoin = 128¶
- RoundPreferFloor = 4¶
- RoundTile = 2¶
- SHIFT = 33554432¶
- Saturday = 6¶
- class ScreenOrientations¶
- class ScreenOrientations(f: Qt.ScreenOrientations | Qt.ScreenOrientation)
- class ScreenOrientations(a0: Qt.ScreenOrientations)
Bases:
simplewrapper
- ScrollBarAlwaysOff = 1¶
- ScrollBarAlwaysOn = 2¶
- ScrollBarAsNeeded = 0¶
- ScrollBegin = 1¶
- ScrollEnd = 3¶
- ScrollMomentum = 4¶
- ScrollUpdate = 2¶
- Sheet = 5¶
- ShiftModifier = 33554432¶
- ShortcutFocusReason = 5¶
- SizeAllCursor = 9¶
- SizeBDiagCursor = 7¶
- SizeFDiagCursor = 8¶
- SizeHintRole = 13¶
- SizeHorCursor = 6¶
- SizeVerCursor = 5¶
- SmartZoomNativeGesture = 4¶
- SmoothTransformation = 1¶
- SolidLine = 1¶
- SolidPattern = 1¶
- SplashScreen = 15¶
- SplitHCursor = 12¶
- SplitVCursor = 11¶
- SquareCap = 16¶
- StatusTipRole = 4¶
- StretchTile = 0¶
- StrongFocus = 11¶
- SubWindow = 18¶
- Sunday = 7¶
- SvgMiterJoin = 256¶
- SwipeGesture = 5¶
- SwipeNativeGesture = 6¶
- SystemLocaleDate = 2¶
- SystemLocaleLongDate = 5¶
- SystemLocaleShortDate = 4¶
- TabFocus = 1¶
- TabFocusAllControls = 255¶
- TabFocusListControls = 2¶
- TabFocusReason = 1¶
- TabFocusTextControls = 1¶
- TapAndHoldGesture = 2¶
- TapGesture = 1¶
- TargetMoveAction = 32770¶
- TaskButton = 32¶
- TextAlignmentRole = 7¶
- TextBrowserInteraction = 13¶
- TextColorRole = 9¶
- TextDate = 0¶
- TextDontClip = 512¶
- TextDontPrint = 16384¶
- TextEditable = 16¶
- TextEditorInteraction = 19¶
- TextExpandTabs = 1024¶
- TextHideMnemonic = 32768¶
- TextIncludeTrailingSpaces = 134217728¶
- class TextInteractionFlags¶
- class TextInteractionFlags(f: Qt.TextInteractionFlags | Qt.TextInteractionFlag)
- class TextInteractionFlags(a0: Qt.TextInteractionFlags)
Bases:
simplewrapper
- TextJustificationForced = 65536¶
- TextSelectableByKeyboard = 2¶
- TextSelectableByMouse = 1¶
- TextShowMnemonic = 2048¶
- TextSingleLine = 256¶
- TextWordWrap = 4096¶
- TextWrapAnywhere = 8192¶
- TexturePattern = 24¶
- ThresholdAlphaDither = 0¶
- ThresholdDither = 32¶
- Thursday = 4¶
- TimeZone = 3¶
- TitleBarArea = 9¶
- Tool = 11¶
- ToolBarArea_Mask = 15¶
- class ToolBarAreas¶
- class ToolBarAreas(f: Qt.ToolBarAreas | Qt.ToolBarArea)
- class ToolBarAreas(a0: Qt.ToolBarAreas)
Bases:
simplewrapper
- ToolButtonFollowStyle = 4¶
- ToolButtonIconOnly = 0¶
- ToolButtonTextBesideIcon = 2¶
- ToolButtonTextOnly = 1¶
- ToolButtonTextUnderIcon = 3¶
- ToolTip = 13¶
- ToolTipRole = 3¶
- TopDockWidgetArea = 4¶
- TopEdge = 1¶
- TopLeftCorner = 0¶
- TopLeftSection = 2¶
- TopRightCorner = 1¶
- TopRightSection = 4¶
- TopSection = 3¶
- TopToolBarArea = 4¶
- TouchPointMoved = 2¶
- TouchPointPressed = 1¶
- TouchPointReleased = 8¶
- class TouchPointStates¶
- class TouchPointStates(f: Qt.TouchPointStates | Qt.TouchPointState)
- class TouchPointStates(a0: Qt.TouchPointStates)
Bases:
simplewrapper
- TouchPointStationary = 4¶
- TransparentMode = 0¶
- Tuesday = 2¶
- UI_AnimateCombo = 3¶
- UI_AnimateMenu = 1¶
- UI_AnimateToolBox = 6¶
- UI_AnimateTooltip = 4¶
- UI_FadeMenu = 2¶
- UI_FadeTooltip = 5¶
- UI_General = 0¶
- UNICODE_ACCEL = 0¶
- UTC = 1¶
- Unchecked = 0¶
- UniqueConnection = 128¶
- UpArrow = 1¶
- UpArrowCursor = 1¶
- UserRole = 256¶
- VerPattern = 10¶
- Vertical = 2¶
- VeryCoarseTimer = 2¶
- VisualMoveStyle = 1¶
- WA_AcceptDrops = 78¶
- WA_AcceptTouchEvents = 121¶
- WA_AlwaysShowToolTips = 84¶
- WA_AlwaysStackOnTop = 128¶
- WA_AttributeCount = 132¶
- WA_ContentsMarginsRespectsSafeArea = 130¶
- WA_CustomWhatsThis = 47¶
- WA_DeleteOnClose = 55¶
- WA_Disabled = 0¶
- WA_DontCreateNativeAncestors = 101¶
- WA_DontShowOnScreen = 103¶
- WA_ForceDisabled = 32¶
- WA_ForceUpdatesDisabled = 59¶
- WA_GrabbedShortcut = 50¶
- WA_GroupLeader = 72¶
- WA_Hover = 74¶
- WA_InputMethodEnabled = 14¶
- WA_InputMethodTransparent = 75¶
- WA_InvalidSize = 45¶
- WA_KeyCompression = 33¶
- WA_KeyboardFocusChange = 77¶
- WA_LaidOut = 7¶
- WA_LayoutOnEntireRect = 48¶
- WA_LayoutUsesWidgetRect = 92¶
- WA_MSWindowsUseDirect3D = 94¶
- WA_MacAlwaysShowToolWindow = 96¶
- WA_MacBrushedMetal = 46¶
- WA_MacFrameworkScaled = 117¶
- WA_MacMetalStyle = 46¶
- WA_MacMiniSize = 91¶
- WA_MacNoClickThrough = 12¶
- WA_MacNoShadow = 127¶
- WA_MacNormalSize = 89¶
- WA_MacOpaqueSizeGrip = 85¶
- WA_MacShowFocusRect = 88¶
- WA_MacSmallSize = 90¶
- WA_MacVariableSize = 102¶
- WA_Mapped = 11¶
- WA_MouseNoMask = 71¶
- WA_MouseTracking = 2¶
- WA_Moved = 43¶
- WA_NativeWindow = 100¶
- WA_NoChildEventsForParent = 58¶
- WA_NoChildEventsFromChildren = 39¶
- WA_NoMousePropagation = 73¶
- WA_NoMouseReplay = 54¶
- WA_NoSystemBackground = 9¶
- WA_NoX11EventCompression = 81¶
- WA_OpaquePaintEvent = 4¶
- WA_OutsideWSRange = 49¶
- WA_PaintOnScreen = 8¶
- WA_PaintUnclipped = 52¶
- WA_PendingMoveEvent = 34¶
- WA_PendingResizeEvent = 35¶
- WA_PendingUpdate = 44¶
- WA_QuitOnClose = 76¶
- WA_Resized = 42¶
- WA_RightToLeft = 56¶
- WA_SetCursor = 38¶
- WA_SetFont = 37¶
- WA_SetLayoutDirection = 57¶
- WA_SetLocale = 87¶
- WA_SetPalette = 36¶
- WA_SetStyle = 86¶
- WA_SetWindowIcon = 53¶
- WA_ShowWithoutActivating = 98¶
- WA_StaticContents = 5¶
- WA_StyleSheet = 97¶
- WA_StyleSheetTarget = 131¶
- WA_StyledBackground = 93¶
- WA_TabletTracking = 129¶
- WA_TintedBackground = 82¶
- WA_TouchPadAcceptSingleTouchEvents = 123¶
- WA_TranslucentBackground = 120¶
- WA_TransparentForMouseEvents = 51¶
- WA_UnderMouse = 1¶
- WA_UpdatesDisabled = 10¶
- WA_WState_CompressKeys = 61¶
- WA_WState_ConfigPending = 64¶
- WA_WState_Created = 60¶
- WA_WState_ExplicitShowHide = 69¶
- WA_WState_Hidden = 16¶
- WA_WState_InPaintEvent = 62¶
- WA_WState_OwnSizePolicy = 68¶
- WA_WState_Polished = 66¶
- WA_WState_Reparented = 63¶
- WA_WState_Visible = 15¶
- WA_WindowModified = 41¶
- WA_WindowPropagation = 80¶
- WA_X11DoNotAcceptFocus = 126¶
- WA_X11NetWmWindowTypeCombo = 115¶
- WA_X11NetWmWindowTypeDND = 116¶
- WA_X11NetWmWindowTypeDesktop = 104¶
- WA_X11NetWmWindowTypeDialog = 110¶
- WA_X11NetWmWindowTypeDock = 105¶
- WA_X11NetWmWindowTypeDropDownMenu = 111¶
- WA_X11NetWmWindowTypeMenu = 107¶
- WA_X11NetWmWindowTypeNotification = 114¶
- WA_X11NetWmWindowTypePopupMenu = 112¶
- WA_X11NetWmWindowTypeSplash = 109¶
- WA_X11NetWmWindowTypeToolBar = 106¶
- WA_X11NetWmWindowTypeToolTip = 113¶
- WA_X11NetWmWindowTypeUtility = 108¶
- WA_X11OpenGLOverlay = 83¶
- WaitCursor = 3¶
- Wednesday = 3¶
- WhatsThisCursor = 15¶
- WhatsThisRole = 5¶
- WheelFocus = 15¶
- WhiteSpaceModeUndefined = -1¶
- WhiteSpaceNoWrap = 2¶
- WhiteSpaceNormal = 0¶
- WhiteSpacePre = 1¶
- Widget = 0¶
- WidgetShortcut = 0¶
- WidgetWithChildrenShortcut = 3¶
- WindingFill = 1¶
- Window = 1¶
- WindowActive = 8¶
- WindowCloseButtonHint = 134217728¶
- WindowContextHelpButtonHint = 65536¶
- WindowDoesNotAcceptFocus = 2097152¶
- class WindowFlags¶
- class WindowFlags(f: Qt.WindowFlags | Qt.WindowType)
- class WindowFlags(a0: Qt.WindowFlags)
Bases:
simplewrapper
- WindowFullScreen = 4¶
- WindowFullscreenButtonHint = -2147483648¶
- WindowMaximizeButtonHint = 32768¶
- WindowMaximized = 2¶
- WindowMinMaxButtonsHint = 49152¶
- WindowMinimizeButtonHint = 16384¶
- WindowMinimized = 1¶
- WindowModal = 1¶
- WindowNoState = 0¶
- WindowOverridesSystemGestures = 1048576¶
- WindowShadeButtonHint = 131072¶
- WindowShortcut = 1¶
- class WindowStates¶
- class WindowStates(f: Qt.WindowStates | Qt.WindowState)
- class WindowStates(a0: Qt.WindowStates)
Bases:
simplewrapper
- WindowStaysOnBottomHint = 67108864¶
- WindowStaysOnTopHint = 262144¶
- WindowSystemMenuHint = 8192¶
- WindowTitleHint = 4096¶
- WindowTransparentForInput = 524288¶
- WindowType_Mask = 255¶
- X11BypassWindowManagerHint = 1024¶
- XAxis = 0¶
- XButton1 = 8¶
- XButton2 = 16¶
- YAxis = 1¶
- ZAxis = 2¶
- ZoomNativeGesture = 3¶
- black = 2¶
- blue = 9¶
- color0 = 0¶
- color1 = 1¶
- convertFromPlainText(plain: str | None, mode: Qt.WhiteSpaceMode = Qt.WhiteSpacePre) str¶
- cyan = 10¶
- darkBlue = 15¶
- darkCyan = 16¶
- darkGray = 4¶
- darkGreen = 14¶
- darkMagenta = 17¶
- darkRed = 13¶
- darkYellow = 18¶
- gray = 5¶
- green = 8¶
- lightGray = 6¶
- magenta = 11¶
- red = 7¶
- transparent = 19¶
- white = 3¶
- yellow = 12¶
- class populse_mia.user_interface.data_browser.data_browser.QVariant¶
- class populse_mia.user_interface.data_browser.data_browser.QVariant(type: QVariant.Type)
- class populse_mia.user_interface.data_browser.data_browser.QVariant(obj: Any)
- class populse_mia.user_interface.data_browser.data_browser.QVariant(a0: QVariant | None)
Bases:
simplewrapper- BitArray = 13¶
- Bitmap = 73¶
- Bool = 1¶
- Brush = 66¶
- ByteArray = 12¶
- Char = 7¶
- Color = 67¶
- Cursor = 74¶
- Date = 14¶
- DateTime = 16¶
- Double = 6¶
- EasingCurve = 29¶
- Font = 64¶
- Hash = 28¶
- Icon = 69¶
- Image = 70¶
- Int = 2¶
- Invalid = 0¶
- KeySequence = 75¶
- Line = 23¶
- LineF = 24¶
- List = 9¶
- Locale = 18¶
- LongLong = 4¶
- Map = 8¶
- Matrix = 79¶
- Matrix4x4 = 81¶
- ModelIndex = 42¶
- Palette = 68¶
- Pen = 76¶
- PersistentModelIndex = 50¶
- Pixmap = 65¶
- Point = 25¶
- PointF = 26¶
- Polygon = 71¶
- PolygonF = 86¶
- Quaternion = 85¶
- Rect = 19¶
- RectF = 20¶
- RegExp = 27¶
- Region = 72¶
- RegularExpression = 44¶
- Size = 21¶
- SizeF = 22¶
- SizePolicy = 121¶
- String = 10¶
- StringList = 11¶
- TextFormat = 78¶
- TextLength = 77¶
- Time = 15¶
- Transform = 80¶
- UInt = 3¶
- ULongLong = 5¶
- Url = 17¶
- UserType = 1024¶
- Uuid = 30¶
- Vector2D = 82¶
- Vector3D = 83¶
- Vector4D = 84¶
- clear(self)¶
- load(self, ds: QDataStream)¶
- nameToType(name: str | None) QVariant.Type¶
- save(self, ds: QDataStream)¶
- type(self) QVariant.Type¶
- class populse_mia.user_interface.data_browser.data_browser.QColor(color: Qt.GlobalColor)¶
- class populse_mia.user_interface.data_browser.data_browser.QColor(rgb: int)
- class populse_mia.user_interface.data_browser.data_browser.QColor(rgba64: QRgba64)
- class populse_mia.user_interface.data_browser.data_browser.QColor(variant: Any)
- class populse_mia.user_interface.data_browser.data_browser.QColor
- class populse_mia.user_interface.data_browser.data_browser.QColor(r: int, g: int, b: int, alpha: int = 255)
- class populse_mia.user_interface.data_browser.data_browser.QColor(aname: str | None)
- class populse_mia.user_interface.data_browser.data_browser.QColor(acolor: QColor | Qt.GlobalColor)
Bases:
simplewrapper- Cmyk = 3¶
- ExtendedRgb = 5¶
- HexArgb = 1¶
- HexRgb = 0¶
- Hsl = 4¶
- Hsv = 2¶
- Invalid = 0¶
- Rgb = 1¶
- convertTo(self, colorSpec: QColor.Spec) QColor¶
- getCmyk(self)¶
- getCmykF(self)¶
- getHsl(self)¶
- getHslF(self)¶
- getHsv(self)¶
- getHsvF(self)¶
- getRgb(self)¶
- getRgbF(self)¶
- name(self) str¶
- name(self, format: QColor.NameFormat) str
- rgba64(self) QRgba64¶
- setRgba64(self, rgba: QRgba64)¶
- spec(self) QColor.Spec¶
- class populse_mia.user_interface.data_browser.data_browser.QIcon¶
- class populse_mia.user_interface.data_browser.data_browser.QIcon(pixmap: QPixmap)
- class populse_mia.user_interface.data_browser.data_browser.QIcon(other: QIcon)
- class populse_mia.user_interface.data_browser.data_browser.QIcon(fileName: str | None)
- class populse_mia.user_interface.data_browser.data_browser.QIcon(engine: QIconEngine | None)
- class populse_mia.user_interface.data_browser.data_browser.QIcon(variant: Any)
Bases:
wrapper- Active = 2¶
- Disabled = 1¶
- Normal = 0¶
- Off = 1¶
- On = 0¶
- Selected = 3¶
- actualSize(self, size: QSize, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QSize¶
- actualSize(self, window: QWindow | None, size: QSize, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QSize
- addFile(self, fileName: str | None, size: QSize = QSize(), mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off)¶
- addPixmap(self, pixmap: QPixmap, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off)¶
- availableSizes(self, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) List[QSize]¶
- paint(self, painter: QPainter | None, rect: QRect, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.AlignCenter, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off)¶
- paint(self, painter: QPainter | None, x: int, y: int, w: int, h: int, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.AlignCenter, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) None
- pixmap(self, size: QSize, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QPixmap¶
- pixmap(self, w: int, h: int, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QPixmap
- pixmap(self, extent: int, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QPixmap
- pixmap(self, window: QWindow | None, size: QSize, mode: QIcon.Mode = QIcon.Normal, state: QIcon.State = QIcon.Off) QPixmap
- class populse_mia.user_interface.data_browser.data_browser.QPixmap¶
- class populse_mia.user_interface.data_browser.data_browser.QPixmap(w: int, h: int)
- class populse_mia.user_interface.data_browser.data_browser.QPixmap(a0: QSize)
- class populse_mia.user_interface.data_browser.data_browser.QPixmap(fileName: str | None, format: str | None = None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.ImageConversionFlag.AutoColor)
- class populse_mia.user_interface.data_browser.data_browser.QPixmap(xpm: List[str])
- class populse_mia.user_interface.data_browser.data_browser.QPixmap(a0: QPixmap)
- class populse_mia.user_interface.data_browser.data_browser.QPixmap(variant: Any)
Bases:
QPaintDevice- convertFromImage(self, img: QImage, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) bool¶
- copy(self, rect: QRect = QRect()) QPixmap¶
- copy(self, ax: int, ay: int, awidth: int, aheight: int) QPixmap
- createMaskFromColor(self, maskColor: QColor | Qt.GlobalColor, mode: Qt.MaskMode = Qt.MaskInColor) QBitmap¶
- detach(self)¶
- fill(self, color: QColor | Qt.GlobalColor = Qt.GlobalColor.white)¶
- fromImage(image: QImage, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) QPixmap¶
- fromImageReader(imageReader: QImageReader | None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) QPixmap¶
- load(self, fileName: str | None, format: str | None = None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) bool¶
- loadFromData(self, buf: PyQt5.sip.array[bytes] | None, format: str | None = None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) bool¶
- loadFromData(self, buf: QByteArray | bytes | bytearray, format: str | None = None, flags: Qt.ImageConversionFlags | Qt.ImageConversionFlag = Qt.AutoColor) bool
- mask(self) QBitmap¶
- rect(self) QRect¶
- save(self, fileName: str | None, format: str | None = None, quality: int = -1) bool¶
- save(self, device: QIODevice | None, format: str | None = None, quality: int = -1) bool
- scaled(self, width: int, height: int, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation) QPixmap¶
- scaled(self, size: QSize, aspectRatioMode: Qt.AspectRatioMode = Qt.IgnoreAspectRatio, transformMode: Qt.TransformationMode = Qt.FastTransformation) QPixmap
- scaledToHeight(self, height: int, mode: Qt.TransformationMode = Qt.FastTransformation) QPixmap¶
- scaledToWidth(self, width: int, mode: Qt.TransformationMode = Qt.FastTransformation) QPixmap¶
- scroll(self, dx: int, dy: int, rect: QRect) QRegion | None¶
- scroll(self, dx: int, dy: int, x: int, y: int, width: int, height: int) QRegion | None
- setMask(self, a0: QBitmap)¶
- size(self) QSize¶
- transformed(self, transform: QTransform, mode: Qt.TransformationMode = Qt.FastTransformation) QPixmap¶
- class populse_mia.user_interface.data_browser.data_browser.QAbstractItemView(parent: QWidget | None = None)¶
Bases:
QAbstractScrollArea- AboveItem = 1¶
- AllEditTriggers = 31¶
- AnimatingState = 6¶
- AnyKeyPressed = 16¶
- BelowItem = 2¶
- CollapsingState = 5¶
- ContiguousSelection = 4¶
- CurrentChanged = 1¶
- DoubleClicked = 2¶
- DragDrop = 3¶
- DragOnly = 1¶
- DragSelectingState = 2¶
- DraggingState = 1¶
- DropOnly = 2¶
- EditKeyPressed = 8¶
- class EditTriggers¶
- class EditTriggers(f: QAbstractItemView.EditTriggers | QAbstractItemView.EditTrigger)
- class EditTriggers(a0: QAbstractItemView.EditTriggers)
Bases:
simplewrapper
- EditingState = 3¶
- EnsureVisible = 0¶
- ExpandingState = 4¶
- ExtendedSelection = 3¶
- InternalMove = 4¶
- MoveDown = 1¶
- MoveEnd = 5¶
- MoveHome = 4¶
- MoveLeft = 2¶
- MoveNext = 8¶
- MovePageDown = 7¶
- MovePageUp = 6¶
- MovePrevious = 9¶
- MoveRight = 3¶
- MoveUp = 0¶
- MultiSelection = 2¶
- NoDragDrop = 0¶
- NoEditTriggers = 0¶
- NoSelection = 0¶
- NoState = 0¶
- OnItem = 0¶
- OnViewport = 3¶
- PositionAtBottom = 2¶
- PositionAtCenter = 3¶
- PositionAtTop = 1¶
- ScrollPerItem = 0¶
- ScrollPerPixel = 1¶
- SelectColumns = 2¶
- SelectItems = 0¶
- SelectRows = 1¶
- SelectedClicked = 4¶
- SingleSelection = 1¶
- activated¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- clearSelection(self)¶
- clicked¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- closePersistentEditor(self, index: QModelIndex)¶
- currentChanged(self, current: QModelIndex, previous: QModelIndex)¶
- currentIndex(self) QModelIndex¶
- dataChanged(self, topLeft: QModelIndex, bottomRight: QModelIndex, roles: Iterable[int] = [])¶
- defaultDropAction(self) Qt.DropAction¶
- doubleClicked¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- dragDropMode(self) QAbstractItemView.DragDropMode¶
- dropIndicatorPosition(self) QAbstractItemView.DropIndicatorPosition¶
- edit(self, index: QModelIndex)¶
- edit(self, index: QModelIndex, trigger: QAbstractItemView.EditTrigger, event: QEvent | None) bool
- editTriggers(self) QAbstractItemView.EditTriggers¶
- entered¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- executeDelayedItemsLayout(self)¶
- horizontalScrollMode(self) QAbstractItemView.ScrollMode¶
- iconSize(self) QSize¶
- iconSizeChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- indexAt(self, p: QPoint) QModelIndex¶
- indexWidget(self, index: QModelIndex) QWidget | None¶
- inputMethodQuery(self, query: Qt.InputMethodQuery) Any¶
- isIndexHidden(self, index: QModelIndex) bool¶
- isPersistentEditorOpen(self, index: QModelIndex) bool¶
- itemDelegate(self) QAbstractItemDelegate | None¶
- itemDelegate(self, index: QModelIndex) QAbstractItemDelegate | None
- model(self) QAbstractItemModel | None¶
- moveCursor(self, cursorAction: QAbstractItemView.CursorAction, modifiers: Qt.KeyboardModifiers | Qt.KeyboardModifier) QModelIndex¶
- openPersistentEditor(self, index: QModelIndex)¶
- pressed¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- reset(self)¶
- resetHorizontalScrollMode(self)¶
- resetVerticalScrollMode(self)¶
- rootIndex(self) QModelIndex¶
- rowsAboutToBeRemoved(self, parent: QModelIndex, start: int, end: int)¶
- rowsInserted(self, parent: QModelIndex, start: int, end: int)¶
- scheduleDelayedItemsLayout(self)¶
- scrollTo(self, index: QModelIndex, hint: QAbstractItemView.ScrollHint = QAbstractItemView.EnsureVisible)¶
- scrollToBottom(self)¶
- scrollToTop(self)¶
- selectAll(self)¶
- selectedIndexes(self) List[QModelIndex]¶
- selectionBehavior(self) QAbstractItemView.SelectionBehavior¶
- selectionChanged(self, selected: QItemSelection, deselected: QItemSelection)¶
- selectionCommand(self, index: QModelIndex, event: QEvent | None = None) QItemSelectionModel.SelectionFlags¶
- selectionMode(self) QAbstractItemView.SelectionMode¶
- selectionModel(self) QItemSelectionModel | None¶
- setCurrentIndex(self, index: QModelIndex)¶
- setDefaultDropAction(self, dropAction: Qt.DropAction)¶
- setDirtyRegion(self, region: QRegion)¶
- setDragDropMode(self, behavior: QAbstractItemView.DragDropMode)¶
- setEditTriggers(self, triggers: QAbstractItemView.EditTriggers | QAbstractItemView.EditTrigger)¶
- setHorizontalScrollMode(self, mode: QAbstractItemView.ScrollMode)¶
- setIconSize(self, size: QSize)¶
- setIndexWidget(self, index: QModelIndex, widget: QWidget | None)¶
- setModel(self, model: QAbstractItemModel | None)¶
- setRootIndex(self, index: QModelIndex)¶
- setSelection(self, rect: QRect, command: QItemSelectionModel.SelectionFlags | QItemSelectionModel.SelectionFlag)¶
- setSelectionBehavior(self, behavior: QAbstractItemView.SelectionBehavior)¶
- setSelectionMode(self, mode: QAbstractItemView.SelectionMode)¶
- setSelectionModel(self, selectionModel: QItemSelectionModel | None)¶
- setState(self, state: QAbstractItemView.State)¶
- setTextElideMode(self, mode: Qt.TextElideMode)¶
- setVerticalScrollMode(self, mode: QAbstractItemView.ScrollMode)¶
- sizeHintForIndex(self, index: QModelIndex) QSize¶
- startDrag(self, supportedActions: Qt.DropActions | Qt.DropAction)¶
- state(self) QAbstractItemView.State¶
- textElideMode(self) Qt.TextElideMode¶
- update(self)¶
- update(self, index: QModelIndex) None
- updateEditorData(self)¶
- updateEditorGeometries(self)¶
- updateGeometries(self)¶
- verticalScrollMode(self) QAbstractItemView.ScrollMode¶
- viewOptions(self) QStyleOptionViewItem¶
- viewportEntered¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- viewportSizeHint(self) QSize¶
- visualRect(self, index: QModelIndex) QRect¶
- visualRegionForSelection(self, selection: QItemSelection) QRegion¶
- class populse_mia.user_interface.data_browser.data_browser.QAction(parent: QObject | None = None)¶
- class populse_mia.user_interface.data_browser.data_browser.QAction(text: str | None, parent: QObject | None = None)
- class populse_mia.user_interface.data_browser.data_browser.QAction(icon: QIcon, text: str | None, parent: QObject | None = None)
Bases:
QObject- AboutQtRole = 3¶
- AboutRole = 4¶
- ApplicationSpecificRole = 2¶
- HighPriority = 256¶
- Hover = 1¶
- LowPriority = 0¶
- NoRole = 0¶
- NormalPriority = 128¶
- PreferencesRole = 5¶
- QuitRole = 6¶
- TextHeuristicRole = 1¶
- Trigger = 0¶
- activate(self, event: QAction.ActionEvent)¶
- changed¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- hover(self)¶
- hovered¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- priority(self) QAction.Priority¶
- setMenuRole(self, menuRole: QAction.MenuRole)¶
- setPriority(self, priority: QAction.Priority)¶
- setShortcutContext(self, context: Qt.ShortcutContext)¶
- setShortcuts(self, shortcuts: Iterable[QKeySequence | QKeySequence.StandardKey | str | None | int])¶
- setShortcuts(self, a0: QKeySequence.StandardKey) None
- shortcut(self) QKeySequence¶
- shortcutContext(self) Qt.ShortcutContext¶
- toggle(self)¶
- toggled¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- trigger(self)¶
- triggered¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- class populse_mia.user_interface.data_browser.data_browser.QApplication(argv: List[str])¶
Bases:
QGuiApplication- CustomColor = 1¶
- ManyColor = 2¶
- NormalColor = 0¶
- aboutQt()¶
- beep()¶
- closeAllWindows()¶
- focusChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- fontMetrics() QFontMetrics¶
- globalStrut() QSize¶
- isEffectEnabled(a0: Qt.UIEffect) bool¶
- setEffectEnabled(a0: Qt.UIEffect, enabled: bool = True)¶
- setGlobalStrut(a0: QSize)¶
- class populse_mia.user_interface.data_browser.data_browser.QDateEdit(parent: QWidget | None = None)¶
- class populse_mia.user_interface.data_browser.data_browser.QDateEdit(date: QDate | datetime.date, parent: QWidget | None = None)
Bases:
QDateTimeEdit
- class populse_mia.user_interface.data_browser.data_browser.QDateTimeEdit(parent: QWidget | None = None)¶
- class populse_mia.user_interface.data_browser.data_browser.QDateTimeEdit(datetime: QDateTime | datetime.datetime, parent: QWidget | None = None)
- class populse_mia.user_interface.data_browser.data_browser.QDateTimeEdit(date: QDate | datetime.date, parent: QWidget | None = None)
- class populse_mia.user_interface.data_browser.data_browser.QDateTimeEdit(time: QTime | datetime.time, parent: QWidget | None = None)
Bases:
QAbstractSpinBox- AmPmSection = 1¶
- DateSections_Mask = 1792¶
- DaySection = 256¶
- HourSection = 16¶
- MSecSection = 2¶
- MinuteSection = 8¶
- MonthSection = 512¶
- NoSection = 0¶
- SecondSection = 4¶
- class Sections¶
- class Sections(f: QDateTimeEdit.Sections | QDateTimeEdit.Section)
- class Sections(a0: QDateTimeEdit.Sections)
Bases:
simplewrapper
- TimeSections_Mask = 31¶
- YearSection = 1024¶
- calendar(self) QCalendar¶
- clear(self)¶
- clearMaximumDate(self)¶
- clearMaximumDateTime(self)¶
- clearMaximumTime(self)¶
- clearMinimumDate(self)¶
- clearMinimumDateTime(self)¶
- clearMinimumTime(self)¶
- currentSection(self) QDateTimeEdit.Section¶
- dateChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- dateTimeChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- displayedSections(self) QDateTimeEdit.Sections¶
- sectionAt(self, index: int) QDateTimeEdit.Section¶
- sectionText(self, s: QDateTimeEdit.Section) str¶
- setCalendar(self, calendar: QCalendar)¶
- setCurrentSection(self, section: QDateTimeEdit.Section)¶
- setDate(self, date: QDate | datetime.date)¶
- setDateRange(self, min: QDate | datetime.date, max: QDate | datetime.date)¶
- setDateTime(self, dateTime: QDateTime | datetime.datetime)¶
- setDateTimeRange(self, min: QDateTime | datetime.datetime, max: QDateTime | datetime.datetime)¶
- setMaximumDate(self, max: QDate | datetime.date)¶
- setMaximumDateTime(self, dt: QDateTime | datetime.datetime)¶
- setMaximumTime(self, max: QTime | datetime.time)¶
- setMinimumDate(self, min: QDate | datetime.date)¶
- setMinimumDateTime(self, dt: QDateTime | datetime.datetime)¶
- setMinimumTime(self, min: QTime | datetime.time)¶
- setSelectedSection(self, section: QDateTimeEdit.Section)¶
- setTime(self, time: QTime | datetime.time)¶
- setTimeRange(self, min: QTime | datetime.time, max: QTime | datetime.time)¶
- setTimeSpec(self, spec: Qt.TimeSpec)¶
- sizeHint(self) QSize¶
- stepEnabled(self) QAbstractSpinBox.StepEnabled¶
- textFromDateTime(self, dt: QDateTime | datetime.datetime) str¶
- timeChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- timeSpec(self) Qt.TimeSpec¶
- class populse_mia.user_interface.data_browser.data_browser.QDoubleSpinBox(parent: QWidget | None = None)¶
Bases:
QAbstractSpinBox- setStepType(self, stepType: QAbstractSpinBox.StepType)¶
- stepType(self) QAbstractSpinBox.StepType¶
- textChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- valueChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- class populse_mia.user_interface.data_browser.data_browser.QFrame(parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.WindowFlags())¶
Bases:
QWidget- Box = 1¶
- HLine = 4¶
- NoFrame = 0¶
- Panel = 2¶
- Plain = 16¶
- Raised = 32¶
- Shadow_Mask = 240¶
- Shape_Mask = 15¶
- StyledPanel = 6¶
- Sunken = 48¶
- VLine = 5¶
- WinPanel = 3¶
- frameRect(self) QRect¶
- frameShadow(self) QFrame.Shadow¶
- frameShape(self) QFrame.Shape¶
- setFrameRect(self, a0: QRect)¶
- setFrameShadow(self, a0: QFrame.Shadow)¶
- setFrameShape(self, a0: QFrame.Shape)¶
- sizeHint(self) QSize¶
- class populse_mia.user_interface.data_browser.data_browser.QGridLayout(parent: QWidget | None)¶
- class populse_mia.user_interface.data_browser.data_browser.QGridLayout
Bases:
QLayout- addItem(self, item: QLayoutItem | None, row: int, column: int, rowSpan: int = 1, columnSpan: int = 1, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.Alignment())¶
- addItem(self, a0: QLayoutItem | None) None
- addLayout(self, a0: QLayout | None, row: int, column: int, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.Alignment())¶
- addLayout(self, a0: QLayout | None, row: int, column: int, rowSpan: int, columnSpan: int, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.Alignment()) None
- addWidget(self, w: QWidget | None)¶
- addWidget(self, a0: QWidget | None, row: int, column: int, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.Alignment()) None
- addWidget(self, a0: QWidget | None, row: int, column: int, rowSpan: int, columnSpan: int, alignment: Qt.Alignment | Qt.AlignmentFlag = Qt.Alignment()) None
- expandingDirections(self) Qt.Orientations¶
- invalidate(self)¶
- maximumSize(self) QSize¶
- minimumSize(self) QSize¶
- setDefaultPositioning(self, n: int, orient: Qt.Orientation)¶
- setGeometry(self, a0: QRect)¶
- sizeHint(self) QSize¶
- class populse_mia.user_interface.data_browser.data_browser.QHBoxLayout¶
- class populse_mia.user_interface.data_browser.data_browser.QHBoxLayout(parent: QWidget | None)
Bases:
QBoxLayout
- class populse_mia.user_interface.data_browser.data_browser.QItemDelegate(parent: QObject | None = None)¶
Bases:
QAbstractItemDelegate- createEditor(self, parent: QWidget | None, option: QStyleOptionViewItem, index: QModelIndex) QWidget | None¶
- drawBackground(self, painter: QPainter | None, option: QStyleOptionViewItem, index: QModelIndex)¶
- drawCheck(self, painter: QPainter | None, option: QStyleOptionViewItem, rect: QRect, state: Qt.CheckState)¶
- drawDecoration(self, painter: QPainter | None, option: QStyleOptionViewItem, rect: QRect, pixmap: QPixmap)¶
- drawDisplay(self, painter: QPainter | None, option: QStyleOptionViewItem, rect: QRect, text: str | None)¶
- editorEvent(self, event: QEvent | None, model: QAbstractItemModel | None, option: QStyleOptionViewItem, index: QModelIndex) bool¶
- paint(self, painter: QPainter | None, option: QStyleOptionViewItem, index: QModelIndex)¶
- setEditorData(self, editor: QWidget | None, index: QModelIndex)¶
- setModelData(self, editor: QWidget | None, model: QAbstractItemModel | None, index: QModelIndex)¶
- sizeHint(self, option: QStyleOptionViewItem, index: QModelIndex) QSize¶
- updateEditorGeometry(self, editor: QWidget | None, option: QStyleOptionViewItem, index: QModelIndex)¶
- class populse_mia.user_interface.data_browser.data_browser.QMenu(parent: QWidget | None = None)¶
- class populse_mia.user_interface.data_browser.data_browser.QMenu(title: str | None, parent: QWidget | None = None)
Bases:
QWidget- aboutToHide¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- aboutToShow¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- addMenu(self, menu: QMenu | None) QAction | None¶
- addMenu(self, title: str | None) QMenu | None
- addMenu(self, icon: QIcon, title: str | None) QMenu | None
- addSection(self, text: str | None) QAction | None¶
- addSection(self, icon: QIcon, text: str | None) QAction | None
- clear(self)¶
- exec(self) QAction | None¶
- exec(self, pos: QPoint, action: QAction | None = None) QAction | None
- exec(actions: Iterable[QAction], pos: QPoint, at: QAction | None = None, parent: QWidget | None = None) QAction | None
- exec_(self) QAction | None¶
- exec_(self, p: QPoint, action: QAction | None = None) QAction | None
- exec_(actions: Iterable[QAction], pos: QPoint, at: QAction | None = None, parent: QWidget | None = None) QAction | None
- hideTearOffMenu(self)¶
- hovered¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- insertSection(self, before: QAction | None, text: str | None) QAction | None¶
- insertSection(self, before: QAction | None, icon: QIcon, text: str | None) QAction | None
- sizeHint(self) QSize¶
- triggered¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- class populse_mia.user_interface.data_browser.data_browser.QMessageBox(parent: QWidget | None = None)¶
- class populse_mia.user_interface.data_browser.data_browser.QMessageBox(icon: QMessageBox.Icon, title: str | None, text: str | None, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton = QMessageBox.NoButton, parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.Dialog | Qt.MSWindowsFixedSizeDialogHint)
Bases:
QDialog- Abort = 262144¶
- AcceptRole = 0¶
- ActionRole = 3¶
- Apply = 33554432¶
- ApplyRole = 8¶
- ButtonMask = -769¶
- Cancel = 4194304¶
- Close = 2097152¶
- Critical = 3¶
- Default = 256¶
- DestructiveRole = 2¶
- Discard = 8388608¶
- Escape = 512¶
- FirstButton = 1024¶
- FlagMask = 768¶
- Help = 16777216¶
- HelpRole = 4¶
- Ignore = 1048576¶
- Information = 1¶
- InvalidRole = -1¶
- LastButton = 134217728¶
- No = 65536¶
- NoAll = 131072¶
- NoButton = 0¶
- NoIcon = 0¶
- NoRole = 6¶
- NoToAll = 131072¶
- Ok = 1024¶
- Open = 8192¶
- Question = 4¶
- RejectRole = 1¶
- Reset = 67108864¶
- ResetRole = 7¶
- RestoreDefaults = 134217728¶
- Retry = 524288¶
- Save = 2048¶
- SaveAll = 4096¶
- class StandardButtons¶
- class StandardButtons(f: QMessageBox.StandardButtons | QMessageBox.StandardButton)
- class StandardButtons(a0: QMessageBox.StandardButtons)
Bases:
simplewrapper
- Warning = 2¶
- Yes = 16384¶
- YesAll = 32768¶
- YesRole = 5¶
- YesToAll = 32768¶
- addButton(self, button: QAbstractButton | None, role: QMessageBox.ButtonRole)¶
- addButton(self, text: str | None, role: QMessageBox.ButtonRole) QPushButton | None
- addButton(self, button: QMessageBox.StandardButton) QPushButton | None
- button(self, which: QMessageBox.StandardButton) QAbstractButton | None¶
- buttonClicked¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- buttonRole(self, button: QAbstractButton | None) QMessageBox.ButtonRole¶
- critical(parent: QWidget | None, title: str | None, text: str | None, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton = QMessageBox.Ok, defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) QMessageBox.StandardButton¶
- defaultButton(self) QPushButton | None¶
- icon(self) QMessageBox.Icon¶
- information(parent: QWidget | None, title: str | None, text: str | None, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton = QMessageBox.Ok, defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) QMessageBox.StandardButton¶
- question(parent: QWidget | None, title: str | None, text: str | None, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton = QMessageBox.StandardButtons(QMessageBox.Yes | QMessageBox.No), defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) QMessageBox.StandardButton¶
- setDefaultButton(self, button: QPushButton | None)¶
- setDefaultButton(self, button: QMessageBox.StandardButton) None
- setEscapeButton(self, button: QAbstractButton | None)¶
- setEscapeButton(self, button: QMessageBox.StandardButton) None
- setIcon(self, a0: QMessageBox.Icon)¶
- setStandardButtons(self, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton)¶
- setTextFormat(self, a0: Qt.TextFormat)¶
- setTextInteractionFlags(self, flags: Qt.TextInteractionFlags | Qt.TextInteractionFlag)¶
- setWindowModality(self, windowModality: Qt.WindowModality)¶
- standardButton(self, button: QAbstractButton | None) QMessageBox.StandardButton¶
- standardButtons(self) QMessageBox.StandardButtons¶
- standardIcon(icon: QMessageBox.Icon) QPixmap¶
- textFormat(self) Qt.TextFormat¶
- textInteractionFlags(self) Qt.TextInteractionFlags¶
- warning(parent: QWidget | None, title: str | None, text: str | None, buttons: QMessageBox.StandardButtons | QMessageBox.StandardButton = QMessageBox.Ok, defaultButton: QMessageBox.StandardButton = QMessageBox.NoButton) QMessageBox.StandardButton¶
- class populse_mia.user_interface.data_browser.data_browser.QProgressDialog(parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.WindowFlags())¶
- class populse_mia.user_interface.data_browser.data_browser.QProgressDialog(labelText: str | None, cancelButtonText: str | None, minimum: int, maximum: int, parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.WindowFlags())
Bases:
QDialog- cancel(self)¶
- canceled¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- forceShow(self)¶
- reset(self)¶
- setCancelButton(self, button: QPushButton | None)¶
- sizeHint(self) QSize¶
- class populse_mia.user_interface.data_browser.data_browser.QPushButton(parent: QWidget | None = None)¶
- class populse_mia.user_interface.data_browser.data_browser.QPushButton(text: str | None, parent: QWidget | None = None)
- class populse_mia.user_interface.data_browser.data_browser.QPushButton(icon: QIcon, text: str | None, parent: QWidget | None = None)
Bases:
QAbstractButton- minimumSizeHint(self) QSize¶
- showMenu(self)¶
- sizeHint(self) QSize¶
- class populse_mia.user_interface.data_browser.data_browser.QSizePolicy¶
- class populse_mia.user_interface.data_browser.data_browser.QSizePolicy(horizontal: QSizePolicy.Policy, vertical: QSizePolicy.Policy, type: QSizePolicy.ControlType = QSizePolicy.DefaultType)
- class populse_mia.user_interface.data_browser.data_browser.QSizePolicy(variant: Any)
- class populse_mia.user_interface.data_browser.data_browser.QSizePolicy(a0: QSizePolicy)
Bases:
simplewrapper- ButtonBox = 2¶
- CheckBox = 4¶
- ComboBox = 8¶
- class ControlTypes¶
- class ControlTypes(f: QSizePolicy.ControlTypes | QSizePolicy.ControlType)
- class ControlTypes(a0: QSizePolicy.ControlTypes)
Bases:
simplewrapper
- DefaultType = 1¶
- ExpandFlag = 2¶
- Expanding = 7¶
- Fixed = 0¶
- Frame = 16¶
- GroupBox = 32¶
- GrowFlag = 1¶
- IgnoreFlag = 8¶
- Ignored = 13¶
- Label = 64¶
- Line = 128¶
- LineEdit = 256¶
- Maximum = 4¶
- Minimum = 1¶
- MinimumExpanding = 3¶
- Preferred = 5¶
- PushButton = 512¶
- RadioButton = 1024¶
- ShrinkFlag = 4¶
- Slider = 2048¶
- SpinBox = 4096¶
- TabWidget = 8192¶
- ToolButton = 16384¶
- controlType(self) QSizePolicy.ControlType¶
- expandingDirections(self) Qt.Orientations¶
- horizontalPolicy(self) QSizePolicy.Policy¶
- setControlType(self, type: QSizePolicy.ControlType)¶
- setHorizontalPolicy(self, d: QSizePolicy.Policy)¶
- setVerticalPolicy(self, d: QSizePolicy.Policy)¶
- transpose(self)¶
- transposed(self) QSizePolicy¶
- verticalPolicy(self) QSizePolicy.Policy¶
- class populse_mia.user_interface.data_browser.data_browser.QSplitter(parent: QWidget | None = None)¶
- class populse_mia.user_interface.data_browser.data_browser.QSplitter(orientation: Qt.Orientation, parent: QWidget | None = None)
Bases:
QFrame- minimumSizeHint(self) QSize¶
- orientation(self) Qt.Orientation¶
- refresh(self)¶
- restoreState(self, state: QByteArray | bytes | bytearray) bool¶
- saveState(self) QByteArray¶
- setOrientation(self, a0: Qt.Orientation)¶
- sizeHint(self) QSize¶
- splitterMoved¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- class populse_mia.user_interface.data_browser.data_browser.QTableWidget(parent: QWidget | None = None)¶
- class populse_mia.user_interface.data_browser.data_browser.QTableWidget(rows: int, columns: int, parent: QWidget | None = None)
Bases:
QTableView- cellActivated¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- cellChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- cellClicked¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- cellDoubleClicked¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- cellEntered¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- cellPressed¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- clear(self)¶
- clearContents(self)¶
- closePersistentEditor(self, item: QTableWidgetItem | None)¶
- column(self, item: QTableWidgetItem | None) int¶
- currentCellChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- currentItem(self) QTableWidgetItem | None¶
- currentItemChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- editItem(self, item: QTableWidgetItem | None)¶
- findItems(self, text: str | None, flags: Qt.MatchFlags | Qt.MatchFlag) List[QTableWidgetItem]¶
- horizontalHeaderItem(self, column: int) QTableWidgetItem | None¶
- indexFromItem(self, item: QTableWidgetItem | None) QModelIndex¶
- isPersistentEditorOpen(self, item: QTableWidgetItem | None) bool¶
- item(self, row: int, column: int) QTableWidgetItem | None¶
- itemActivated¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- itemAt(self, p: QPoint) QTableWidgetItem | None¶
- itemAt(self, ax: int, ay: int) QTableWidgetItem | None
- itemChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- itemClicked¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- itemDoubleClicked¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- itemEntered¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- itemFromIndex(self, index: QModelIndex) QTableWidgetItem | None¶
- itemPressed¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- itemPrototype(self) QTableWidgetItem | None¶
- itemSelectionChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- items(self, data: QMimeData | None) List[QTableWidgetItem]¶
- mimeData(self, items: Iterable[QTableWidgetItem]) QMimeData | None¶
- openPersistentEditor(self, item: QTableWidgetItem | None)¶
- row(self, item: QTableWidgetItem | None) int¶
- scrollToItem(self, item: QTableWidgetItem | None, hint: QAbstractItemView.ScrollHint = QAbstractItemView.EnsureVisible)¶
- selectedItems(self) List[QTableWidgetItem]¶
- setCurrentCell(self, row: int, column: int)¶
- setCurrentCell(self, row: int, column: int, command: QItemSelectionModel.SelectionFlags | QItemSelectionModel.SelectionFlag) None
- setCurrentItem(self, item: QTableWidgetItem | None)¶
- setCurrentItem(self, item: QTableWidgetItem | None, command: QItemSelectionModel.SelectionFlags | QItemSelectionModel.SelectionFlag) None
- setHorizontalHeaderItem(self, column: int, item: QTableWidgetItem | None)¶
- setItem(self, row: int, column: int, item: QTableWidgetItem | None)¶
- setItemPrototype(self, item: QTableWidgetItem | None)¶
- setModel(self, model: QAbstractItemModel | None)¶
- setVerticalHeaderItem(self, row: int, item: QTableWidgetItem | None)¶
- sortItems(self, column: int, order: Qt.SortOrder = Qt.AscendingOrder)¶
- supportedDropActions(self) Qt.DropActions¶
- takeHorizontalHeaderItem(self, column: int) QTableWidgetItem | None¶
- takeItem(self, row: int, column: int) QTableWidgetItem | None¶
- takeVerticalHeaderItem(self, row: int) QTableWidgetItem | None¶
- verticalHeaderItem(self, row: int) QTableWidgetItem | None¶
- visualItemRect(self, item: QTableWidgetItem | None) QRect¶
- class populse_mia.user_interface.data_browser.data_browser.QTableWidgetItem(type: int = QTableWidgetItem.ItemType.Type)¶
- class populse_mia.user_interface.data_browser.data_browser.QTableWidgetItem(text: str | None, type: int = QTableWidgetItem.ItemType.Type)
- class populse_mia.user_interface.data_browser.data_browser.QTableWidgetItem(icon: QIcon, text: str | None, type: int = QTableWidgetItem.ItemType.Type)
- class populse_mia.user_interface.data_browser.data_browser.QTableWidgetItem(other: QTableWidgetItem)
Bases:
wrapper- Type = 0¶
- UserType = 1000¶
- background(self) QBrush¶
- checkState(self) Qt.CheckState¶
- clone(self) QTableWidgetItem | None¶
- flags(self) Qt.ItemFlags¶
- foreground(self) QBrush¶
- read(self, in_: QDataStream)¶
- setBackground(self, brush: QBrush | QColor | Qt.GlobalColor | QGradient)¶
- setCheckState(self, state: Qt.CheckState)¶
- setFlags(self, aflags: Qt.ItemFlags | Qt.ItemFlag)¶
- setForeground(self, brush: QBrush | QColor | Qt.GlobalColor | QGradient)¶
- setSizeHint(self, size: QSize)¶
- sizeHint(self) QSize¶
- tableWidget(self) QTableWidget | None¶
- write(self, out: QDataStream)¶
- class populse_mia.user_interface.data_browser.data_browser.QTimeEdit(parent: QWidget | None = None)¶
- class populse_mia.user_interface.data_browser.data_browser.QTimeEdit(time: QTime | datetime.time, parent: QWidget | None = None)
Bases:
QDateTimeEdit
- class populse_mia.user_interface.data_browser.data_browser.QToolBar(title: str | None, parent: QWidget | None = None)¶
- class populse_mia.user_interface.data_browser.data_browser.QToolBar(parent: QWidget | None = None)
Bases:
QWidget- actionTriggered¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- allowedAreas(self) Qt.ToolBarAreas¶
- allowedAreasChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- clear(self)¶
- iconSize(self) QSize¶
- iconSizeChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- isAreaAllowed(self, area: Qt.ToolBarArea) bool¶
- movableChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- orientation(self) Qt.Orientation¶
- orientationChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- setAllowedAreas(self, areas: Qt.ToolBarAreas | Qt.ToolBarArea)¶
- setIconSize(self, iconSize: QSize)¶
- setOrientation(self, orientation: Qt.Orientation)¶
- setToolButtonStyle(self, toolButtonStyle: Qt.ToolButtonStyle)¶
- toolButtonStyle(self) Qt.ToolButtonStyle¶
- toolButtonStyleChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- topLevelChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- visibilityChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- class populse_mia.user_interface.data_browser.data_browser.QToolButton(parent: QWidget | None = None)¶
Bases:
QAbstractButton- DelayedPopup = 0¶
- InstantPopup = 2¶
- MenuButtonPopup = 1¶
- arrowType(self) Qt.ArrowType¶
- minimumSizeHint(self) QSize¶
- nextCheckState(self)¶
- popupMode(self) QToolButton.ToolButtonPopupMode¶
- setArrowType(self, type: Qt.ArrowType)¶
- setPopupMode(self, mode: QToolButton.ToolButtonPopupMode)¶
- setToolButtonStyle(self, style: Qt.ToolButtonStyle)¶
- showMenu(self)¶
- sizeHint(self) QSize¶
- toolButtonStyle(self) Qt.ToolButtonStyle¶
- triggered¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- class populse_mia.user_interface.data_browser.data_browser.QVBoxLayout¶
- class populse_mia.user_interface.data_browser.data_browser.QVBoxLayout(parent: QWidget | None)
Bases:
QBoxLayout
- class populse_mia.user_interface.data_browser.data_browser.QWidget(parent: QWidget | None = None, flags: Qt.WindowFlags | Qt.WindowType = Qt.WindowFlags())¶
Bases:
QObject,QPaintDevice- DrawChildren = 2¶
- DrawWindowBackground = 1¶
- IgnoreMask = 4¶
- class RenderFlags¶
- class RenderFlags(f: QWidget.RenderFlags | QWidget.RenderFlag)
- class RenderFlags(a0: QWidget.RenderFlags)
Bases:
simplewrapper
- activateWindow(self)¶
- adjustSize(self)¶
- backgroundRole(self) QPalette.ColorRole¶
- baseSize(self) QSize¶
- childrenRect(self) QRect¶
- childrenRegion(self) QRegion¶
- clearFocus(self)¶
- clearMask(self)¶
- 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¶
- customContextMenuRequested¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- effectiveWinId(self) PyQt5.sip.voidptr¶
- ensurePolished(self)¶
- focusPolicy(self) Qt.FocusPolicy¶
- fontInfo(self) QFontInfo¶
- fontMetrics(self) QFontMetrics¶
- foregroundRole(self) QPalette.ColorRole¶
- frameGeometry(self) QRect¶
- frameSize(self) QSize¶
- geometry(self) QRect¶
- getContentsMargins(self)¶
- 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¶
- hide(self)¶
- inputMethodHints(self) Qt.InputMethodHints¶
- inputMethodQuery(self, a0: Qt.InputMethodQuery) Any¶
- layoutDirection(self) Qt.LayoutDirection¶
- locale(self) QLocale¶
- lower(self)¶
- mask(self) QRegion¶
- maximumSize(self) QSize¶
- minimumSize(self) QSize¶
- minimumSizeHint(self) QSize¶
- nativeEvent(self, eventType: QByteArray | bytes | bytearray, message: PyQt5.sip.voidptr | None)¶
- normalGeometry(self) QRect¶
- overrideWindowFlags(self, type: Qt.WindowFlags | Qt.WindowType)¶
- overrideWindowState(self, state: Qt.WindowStates | Qt.WindowState)¶
- palette(self) QPalette¶
- raise_(self)¶
- rect(self) QRect¶
- releaseKeyboard(self)¶
- releaseMouse(self)¶
- 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
- restoreGeometry(self, geometry: QByteArray | bytes | bytearray) bool¶
- saveGeometry(self) QByteArray¶
- setAttribute(self, attribute: Qt.WidgetAttribute, on: bool = True)¶
- setBackgroundRole(self, a0: QPalette.ColorRole)¶
- 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)¶
- setFocus(self)¶
- setFocus(self, reason: Qt.FocusReason) None
- setFocusPolicy(self, policy: Qt.FocusPolicy)¶
- setForegroundRole(self, a0: QPalette.ColorRole)¶
- setInputMethodHints(self, hints: Qt.InputMethodHints | Qt.InputMethodHint)¶
- setLayoutDirection(self, direction: Qt.LayoutDirection)¶
- setLocale(self, locale: QLocale)¶
- setPalette(self, a0: QPalette)¶
- setParent(self, parent: QWidget | None)¶
- setParent(self, parent: QWidget | None, f: Qt.WindowFlags | Qt.WindowType) None
- setSizePolicy(self, a0: QSizePolicy)¶
- setSizePolicy(self, hor: QSizePolicy.Policy, ver: QSizePolicy.Policy) None
- setWindowFlag(self, a0: Qt.WindowType, on: bool = True)¶
- setWindowFlags(self, type: Qt.WindowFlags | Qt.WindowType)¶
- setWindowModality(self, windowModality: Qt.WindowModality)¶
- setWindowState(self, state: Qt.WindowStates | Qt.WindowState)¶
- show(self)¶
- showFullScreen(self)¶
- showMaximized(self)¶
- showMinimized(self)¶
- showNormal(self)¶
- size(self) QSize¶
- sizeHint(self) QSize¶
- sizeIncrement(self) QSize¶
- sizePolicy(self) QSizePolicy¶
- testAttribute(self, attribute: Qt.WidgetAttribute) 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)¶
- visibleRegion(self) QRegion¶
- winId(self) PyQt5.sip.voidptr¶
- windowFlags(self) Qt.WindowFlags¶
- windowIconChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- windowIconTextChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- windowModality(self) Qt.WindowModality¶
- windowState(self) Qt.WindowStates¶
- windowTitleChanged¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- windowType(self) Qt.WindowType¶
- class populse_mia.user_interface.data_browser.data_browser.Config(properties_path=None)[source]¶
Bases:
objectObject that handles the configuration of the software
Contains:
Methods:
_configure_matlab_only: Configures MATLAB without SPM
_configure_matlab_spm: Configures SPM and MATLAB
_configure_mcr_only: Configures MCR without SPM
_configure_standalone_spm: Configures standalone SPM and MCR
_disable_matlab_spm: Disables all MATLAB and SPM configurations
get_admin_hash: Get the value of the hash of the admin password
get_afni_path: Returns the path of AFNI
get_ants_path: Returns the path of ANTS
getBackgroundColor: Get background color
get_capsul_config: Get CAPSUL config dictionary
get_capsul_engine: Get a global CapsulEngine object used for all operations in MIA application
getChainCursors: Returns if the “chain cursors” checkbox of the mini-viewer is activated
get_freesurfer_setup: Get freesurfer path
get_fsl_config: Returns the path of the FSL config file
get_mainwindow_maximized: Get the maximized (full-screen) flag
get_mainwindow_size: Get the main window size
get_matlab_command: Returns Matlab command
get_matlab_path: Returns the path of Matlab’s executable
get_matlab_standalone_path: Returns the path of Matlab Compiler Runtime
get_max_projects: Returns the maximum number of projects displayed in the “Saved projects” menu
get_max_thumbnails: Get max thumbnails number at the data browser bottom
get_mri_conv_path: Returns the MRIManager.jar path
get_mrtrix_path: Returns mrtrix path
getNbAllSlicesMax: Returns the maximum number of slices to display in the mini viewer
get_opened_projects: Returns the opened projects
get_projects_save_path: Returns the folder where the projects are saved
get_properties_path: Returns the software’s properties path
get_referential: Returns boolean to indicate DataViewer referential
get_resources_path: Get the resources path
getShowAllSlices: Returns if the “show all slices” checkbox of the mini viewer is activated
getSourceImageDir: Get the source directory for project images
get_spm_path: Returns the path of SPM12 (license version)
get_spm_standalone_path: Returns the path of SPM12 (standalone version)
getTextColor: Return the text color
getThumbnailTag: Returns the tag that is displayed in the mini viewer
get_use_afni: Returns the value of “use afni” checkbox in the preferences
get_use_ants: Returns the value of “use ants” checkbox in the preferences
get_use_clinical: Returns the value of “clinical mode” checkbox in the preferences
get_use_freesurfer: Returns the value of “use freesurfer” checkbox in the preferences
get_use_fsl: Returns the value of “use fsl” checkbox in the preferences
get_use_matlab: Returns the value of “use matlab” checkbox in the preferences
get_use_matlab_standalone: Returns the value of “use matlab standalone” checkbox in the preferences
get_use_mrtrix: Returns the value of “use mrtrix” checkbox in the preferences
get_user_level: Get the user level in the Capsul config
get_user_mode: Returns the value of “user mode” checkbox in the preferences
get_use_spm: Returns the value of “use spm” checkbox in the preferences
get_use_spm_standalone: Returns the value of “use spm standalone” checkbox in the preferences
getViewerConfig: Returns the DataViewer configuration (neuro or radio), by default neuro
getViewerFramerate: Returns the DataViewer framerate for automatic time running images
isAutoSave: Checks if auto-save mode is activated
isControlV1: Checks if the selected display of the controller is of V1 type
isRadioView: Checks if miniviewer in radiological orientation (if not, then it is in neurological orientation)
loadConfig: Reads the config in the config.yml file
saveConfig: Saves the config to the config.yml file
set_admin_hash: Set the password hash
set_afni_path: Set the path of the AFNI
set_ants_path: Set the path of the ANTS
setAutoSave: Sets the auto-save mode
setBackgroundColor: Sets the background color
set_capsul_config: Set CAPSUL configuration dict into MIA config
setChainCursors: Set the “chain cursors” checkbox of the mini viewer
set_clinical_mode: Set the value of “clinical mode” in the preferences
setControlV1: Set controller display mode (True if V1)
set_freesurfer_setup: Set freesurfer path
set_fsl_config: Set the path of the FSL config file
set_mainwindow_maximized: Set the maximized (fullscreen) flag
set_mainwindow_size: Set main window size
set_matlab_path: Set the path of Matlab’s executable
set_matlab_standalone_path: Set the path of Matlab Compiler Runtime
set_max_projects: Set the maximum number of projects displayed in the “Saved projects” menu
set_max_thumbnails: Set max thumbnails number at the data browser bottom
set_mri_conv_path: Set the MRIManager.jar path
set_mrtrix_path: Set the path of mrtrix
setNbAllSlicesMax: Set the maximum number of slices to display in the mini viewer
set_opened_projects: Set the opened projects
set_projects_save_path: Set the folder where the projects are saved
set_radioView: Set the orientation in miniviewer (True for radiological, False for neurological orientation)
set_referential: Set the DataViewer referential
set_resources_path: Set the resources path
setShowAllSlices: Set the “show all slices” checkbox of the mini viewer
setSourceImageDir: Set the source directory for project images
set_spm_path: Set the path of SPM12 (license version)
set_spm_standalone_path: Set the path of SPM12 (standalone version)
setTextColor: Set the text color
setThumbnailTag: Set the tag that is displayed in the mini viewer
set_use_afni: Set the value of “use afni” checkbox in the preferences
set_use_ants: Set the value of “use ants” checkbox in the preferences
set_use_freesurfer: Set the value of “use freesurfer” checkbox in the preferences
set_use_fsl: Set the value of “use fsl” checkbox in the preferences
set_use_matlab: Set the value of “use matlab” checkbox in the preferences
set_use_matlab_standalone: Set the value of “use matlab standalone” checkbox in the preferences
set_use_mrtrix: Set the value of “use mrtrix” checkbox in the preferences
set_user_mode: Set the value of “user mode” checkbox in the preferences
set_use_spm: Set the value of “use spm” checkbox in the preferences
set_use_spm_standalone: Set the value of “use spm standalone” checkbox in the preferences
setViewerConfig: Set the Viewer configuration neuro or radio
setViewerFramerate: Set the Viewer frame rate for automatic running time images
update_capsul_config: Update a global CapsulEngine object used for all operations in MIA application
- capsul_engine = None¶
- __init__(properties_path=None)[source]¶
Initialization of the Config class
- Parameters:
properties_path – (str) If provided, the configuration file will be loaded / saved from the given directory. Otherwise, the regular heuristics will be used to determine the config path. This option allows to use an alternative config directory (for tests for instance).
- _configure_matlab_only(matlab_path: str) None[source]¶
Configures MATLAB without SPM, ensuring that only MATLAB is used.
- Parameters:
matlab_path – (str) The directory path of the MATLAB installation.
- _configure_matlab_spm(spm_dir, matlab_path)[source]¶
Configures SPM to use the specified SPM directory with a MATLAB installation.
- Parameters:
spm_dir – (str) The directory path of the SPM installation.
matlab_path – (str) The directory path of the MATLAB installation.
- _configure_mcr_only(mcr_dir: str) None[source]¶
Configures MATLAB Compiler Runtime (MCR) without SPM, ensuring that only MCR is used.
- Parameters:
mcr_dir – (str) The directory path of the MATLAB Compiler Runtime (MCR).
- _configure_standalone_spm(spm_dir, mcr_dir)[source]¶
Configures standalone SPM to use the specified SPM and MATLAB Compiler Runtime (MCR) directories.
- Parameters:
spm_dir – (str) The directory path of the standalone SPM installation.
mcr_dir – (str) The directory path of the MATLAB Compiler Runtime (MCR).
- _disable_matlab_spm() None[source]¶
Disables all MATLAB and SPM configurations, ensuring that neither MATLAB nor SPM is used.
- get_admin_hash()[source]¶
Retrieves the hashed admin password from the configuration.
- Returns:
The hashed admin password if found in config, False if not present in config.
- getBackgroundColor()[source]¶
Get background color.
- Returns:
(str) Background color, or “” if unknown.
- get_capsul_config(sync_from_engine=True)[source]¶
Retrieve and construct the Capsul configuration dictionary.
This function builds a configuration dictionary for Capsul, incorporating settings for various neuroimaging tools and processing engines. It manages configurations for tools like SPM, FSL, FreeSurfer, MATLAB, AFNI, ANTs, and MRTrix.
The function first retrieves local settings for each tool from the Mia preferences, then constructs the appropriate configuration structure. If requested, it can synchronize the configuration with the current Capsul engine state.
- Parameters:
sync_from_engine – (bool) If True, synchronizes the configuration with the current Capsul engine settings after building the base configuration.
- Returns:
(dict) A nested dictionary containing the complete Capsul configuration, structured with the following main sections:
engine_modules: List of available processing modulesengine: Contains global and environment-specific settings, as well as configurations specific to certain tools (SPM, FSL, etc.)
- Private functions:
_configure_spm: Configure SPM settings.
_configure_tool: Configure various neuroimaging settings (e.g. ‘fsl’, ‘afni’, etc.)
- static get_capsul_engine()[source]¶
Get or create a global CapsulEngine singleton for Mia application operations.
The engine is created only once when first needed (lazy initialization). Subsequent calls return the same instance.
- Returns:
(CapsulEngine) The global CapsulEngine instance.
- getChainCursors()[source]¶
Get the value of the checkbox ‘chain cursor’ in miniviewer.
- Returns:
(bool) Value of the checkbox.
- get_freesurfer_setup()[source]¶
Get the freesurfer path.
- Returns:
(str) Path to freesurfer, or “” if unknown.
- get_fsl_config()[source]¶
Get the FSL config file path.
- Returns:
(str) Path to the fsl/etc/fslconf/fsl.sh file.
- get_mainwindow_maximized()[source]¶
Get the maximized (fullscreen) flag.
- Returns:
(bool) Maximized (fullscreen) flag.
- get_matlab_command()[source]¶
Retrieves the appropriate Matlab command based on the configuration.
- Returns:
(str) The Matlab executable path or None if no path is specified.
- get_matlab_standalone_path()[source]¶
Get the path to matlab compiler runtime.
- Returns:
(str) A path.
- get_max_projects()[source]¶
Retrieves the maximum number of projects displayed in the “Saved projects” menu.
- Returns:
(int) The maximum number of projects. Defaults to 5 if not specified.
- get_max_thumbnails()[source]¶
Retrieves the maximum number of thumbnails displayed in the mini-viewer at the bottom of the data browser.
- Returns:
(int) The maximum number of thumbnails. Defaults to 5 if not specified.
- getNbAllSlicesMax()[source]¶
Get number the maximum number of slices to display in the miniviewer.
- Returns:
(int) Maximum number of slices to display in miniviewer.
- get_properties_path()[source]¶
Retrieves the path to the folder containing the “processes” and “properties” directories of Mia.
The properties path is defined in the configuration_path.yml file, located in ~/.populse_mia.
In user mode, the path is retrieved from the properties_user_path parameter.
In developer mode, the path is retrieved from the properties_dev_path parameter.
If outdated parameters (mia_path, mia_user_path) are found, they are automatically updated in the configuration file.
- Returns:
(str) The absolute path to the properties folder.
- get_referential()[source]¶
Retrieves the chosen referential from the anatomist_2 data viewer.
- Returns:
(str) “0” for World Coordinates, “1” for Image ref.
- getShowAllSlices()[source]¶
Get whether the show_all_slices parameters was enabled or not in the miniviewer.
- Returns:
(bool) True if the show_all_slices parameters was enabled.
- get_spm_standalone_path()[source]¶
Get the path to the SPM12 standalone version.
- Returns:
(str) A path.
- getThumbnailTag()[source]¶
Get the tag of the thumbnail displayed in the miniviewer.
- Returns:
(str) The tag of the thumbnail displayed in miniviewer.
- get_use_afni()[source]¶
Get the value of “use afni” checkbox in the preferences.
- Returns:
(bool) The value of “use afni” checkbox.
- get_use_ants()[source]¶
Get the value of “use ants” checkbox in the preferences.
- Returns:
(bool) The value of “use ants” checkbox.
- get_use_clinical()[source]¶
Get the clinical mode in the preferences.
- Returns:
(bool) The clinical mode.
- get_use_freesurfer()[source]¶
Get the value of “use freesurfer” checkbox in the preferences.
- Returns:
(bool) The value of “use freesurfer” checkbox.
- get_use_fsl()[source]¶
Get the value of “use fsl” checkbox in the preferences.
- Returns:
(bool) The value of “use fsl” checkbox.
- get_use_matlab()[source]¶
Get the value of “use matlab” checkbox in the preferences.
- Returns:
(bool) The value of “use matlab” checkbox.
- get_use_matlab_standalone()[source]¶
Get the value of “use matlab standalone” checkbox in the preferences.
- Returns:
(bool) The value of “use matlab standalone” checkbox.
- get_use_mrtrix()[source]¶
Get the value of “use mrtrix” checkbox in the preferences.
- Returns:
(bool) The value of “use mrtrix” checkbox.
- get_user_level()[source]¶
Get the user level in the Capsul config.
- Returns:
(int) The user level in the Capsul config.
- get_user_mode()[source]¶
Get if user mode is disabled or enabled in the preferences.
- Returns:
(bool) If True, the user mode is enabled.
- get_use_spm()[source]¶
Get the value of “use spm” checkbox in the preferences.
- Returns:
(bool) The value of “use spm” checkbox.
- get_use_spm_standalone()[source]¶
Get the value of “use spm standalone” checkbox in the preferences.
- Returns:
(bool) The value of “use spm standalone” checkbox.
- getViewerConfig()[source]¶
Get the viewer config “neuro” or “radio”, “neuro” by default.
- Returns:
(str) The viewer config (“neuro” or “radio”).
- getViewerFramerate()[source]¶
Get the Viewer framerate.
- Returns:
(str) The Viewer framerat (ex. “5”).
- isAutoSave()[source]¶
Get if the auto-save mode is enabled or not.
- Returns:
(bool) If True, auto-save mode is enabled.
- isControlV1()[source]¶
Gets whether the controller display is of type V1.
- Returns:
(bool) If True, V1 controller display.
- isRadioView()[source]¶
Get if the display in miniviewer is in radiological orientation.
- Returns:
(bool) If True, radiological orientation, otherwise neurological orientation.
- loadConfig()[source]¶
Read the config from config.yml file.
Attempts to read an encrypted YAML configuration file from the properties directory, decrypt it using Fernet encryption, and parse it as YAML.
- Returns:
(dict) Parsed configuration from the YAML file. Returns empty dict if parsing fails.
- saveConfig()[source]¶
Save the current parameters in the config.yml file.
Encrypts and writes the current configuration (self.config) to config.yml using Fernet encryption. Creates the necessary directory structure if it doesn’t exist. After saving, updates the capsul configuration.
- setBackgroundColor(color)[source]¶
Set background color and save configuration.
- Parameters:
color – Color string (‘Black’, ‘Blue’, ‘Green’, ‘Grey’, ‘Orange’, ‘Red’, ‘Yellow’, ‘White’)
- set_capsul_config(capsul_config_dict)[source]¶
Update Mia configuration with Capsul settings and synchronize tools configuration.
Called after editing Capsul config (via File > Mia preferences > Pipeline tab > Edit CAPSUL config) to synchronize Capsul settings with Mia preferences. Configures various neuroimaging tools (AFNI, ANTs, FSL, etc.) based on the Capsul engine configuration.
- Parameters:
capsul_config_dict – Dictionary containing Capsul configuration.
Structure of capsul_config_dict:
{ 'engine': { 'environment_name': {...configuration...} }, 'engine_modules': [...] }
- Private function:
_get_module_config: Extracts module configuration from the global Capsul configuration.
- setChainCursors(chain_cursors)[source]¶
Set the value of the checkbox ‘chain cursor’ in the mini viewer.
- Parameters:
chain_cursors – A boolean.
- set_clinical_mode(clinical_mode)[source]¶
Enable or disable clinical mode.
- Parameters:
clinical_mode – A boolean.
- setControlV1(controlV1)[source]¶
Set controller display mode (True if V1).
- Parameters:
controlV1 – A boolean.
- set_freesurfer_setup(path)[source]¶
Set the freesurfer config file.
- Parameters:
path – (str) Path to freesurfer/FreeSurferEnv.sh.
- set_fsl_config(path)[source]¶
Set the FSL config file.
- Parameters:
path – (str) Path to fsl/etc/fslconf/fsl.sh.
- set_mainwindow_maximized(enabled)[source]¶
Set the maximized (full-screen) flag.
- Parameters:
enabled – A boolean.
- set_matlab_path(path)[source]¶
Set the path of Matlab’s executable.
- Parameters:
path – (str) A path.
- set_matlab_standalone_path(path)[source]¶
Set the path of Matlab Compiler Runtime.
- Parameters:
path – (str) A path.
- set_max_projects(nb_max_projects)[source]¶
Set the maximum number of projects displayed in the “Saved projects” menu.
- Parameters:
nb_max_projects – An integer.
- set_max_thumbnails(nb_max_thumbnails)[source]¶
Set max thumbnails number at the data browser bottom.
- Parameters:
nb_max_thumbnails – An integer.
- setNbAllSlicesMax(nb_slices_max)[source]¶
Set the number of slices to display in the mini-viewer.
- Parameters:
nb_slices_max – (int) Maximum number of slices to display.
- set_opened_projects(new_projects)[source]¶
Set the list of opened projects and saves the modification.
- Parameters:
new_projects – (list[str]) A list of paths.
- set_projects_save_path(path)[source]¶
Set the folder where the projects are saved.
- Parameters:
path – (str) A path.
- set_radioView(radio_view)[source]¶
Set the radiological / neurological orientation in mini viewer.
True for radiological
False for neurological
- Parameters:
radio_view – A boolean.
- set_referential(ref)[source]¶
Set the referential to “image Ref” or “World Coordinates” in anatomist_2 data viewer.
- Parameters:
ref – (str) “0” for World Coordinates, “1” for Image Ref.
- setShowAllSlices(show_all_slices)[source]¶
Set the show_all_slides setting in miniviewer.
- Parameters:
show_all_slices – A boolean.
- setSourceImageDir(source_image_dir)[source]¶
Set the source directory for project images.
- Parameters:
source_image_dir – (str) A path.
- set_spm_standalone_path(path)[source]¶
Set the path of SPM (standalone version).
- Parameters:
path – (str) A path.
- setTextColor(color)[source]¶
Set text color and save configuration.
- Parameters:
color – Color string (‘Black’, ‘Blue’, ‘Green’, ‘Grey’, ‘Orange’, ‘Red’, ‘Yellow’, ‘White’)
- setThumbnailTag(thumbnail_tag)[source]¶
Set the tag that is displayed in the mini-viewer.
- Parameters:
thumbnail_tag – A string.
- set_use_afni(use_afni)[source]¶
Set the value of “use_afni” checkbox in the preferences.
- Parameters:
use_afni – A boolean.
- set_use_ants(use_ants)[source]¶
Set the value of “use_ants” checkbox in the preferences.
- Parameters:
use_ants – A boolean.
- set_use_freesurfer(use_freesurfer)[source]¶
Set the value of “use_freesurfer” checkbox in the preferences.
- Parameters:
use_freesurfer – A boolean.
- set_use_fsl(use_fsl)[source]¶
Set the value of “use_fsl” checkbox in the preferences.
- Parameters:
use_fsl – A boolean.
- set_use_matlab(use_matlab)[source]¶
Set the value of “use matlab” checkbox in the preferences.
- Parameters:
use_matlab – A boolean.
- set_use_matlab_standalone(use_matlab_standalone)[source]¶
Set the value of “use_matlab_standalone” checkbox in the preferences.
- Parameters:
use_matlab – A boolean.
- set_use_mrtrix(use_mrtrix)[source]¶
Set the value of “use_mrtrix” checkbox in the preferences.
- Parameters:
use_mrtrix – A boolean.
- set_use_spm(use_spm)[source]¶
Set the value of “use spm” checkbox in the preferences.
- Parameters:
use_spm – A boolean.
- set_use_spm_standalone(use_spm_standalone)[source]¶
Set the value of “use spm standalone” checkbox in the preferences.
- Parameters:
use_spm_standalone – A boolean.
- setViewerConfig(config_NeuRad)[source]¶
sets user’s configuration neuro or radio for data_viewer.
neuro: neurological
radio: radiological
- Parameters:
config_NeuRad – A string.
- setViewerFramerate(im_sec)[source]¶
sets user’s framerate for data_viewer.
- Parameters:
im_sec – (int) Number of images per second.
- update_capsul_config()[source]¶
Updates the global CapsulEngine object used for all operations in the Mia application.
The CapsulEngine is created once when needed and updated each time the configuration is saved. This method ensures that all necessary engine modules are loaded and configurations are properly imported from the saved settings.
- Returns:
(capsul.engine.CapsulEngine) The updated CapsulEngine object, or None if the engine is not initialized.
- class populse_mia.user_interface.data_browser.data_browser.AdvancedSearch(project, data_browser, scans_list=None, tags_list=None, from_pipeline=False)[source]¶
Bases:
QWidgetClass that manages the widget of the advanced search
The advanced search creates a complex query to the database and is a combination of several “query lines” which are linked with AND or OR and all composed of: - A negation or not - A tag name or all visible tags - A condition (==, !=, >, <, >=, <=, CONTAINS, IN, BETWEEN) - A value
- __init__(project, data_browser, scans_list=None, tags_list=None, from_pipeline=False)[source]¶
Initialize the AdvancedSearch widget.
- Parameters:
project – The current project instance.
data_browser – The parent DataBrowser widget that contains this search.
scans_list – List of document scans to search within. Defaults to empty list.
tags_list – List of tags to display in the search interface. Defaults to empty list.
(bool) (from_pipeline) – Whether the widget is instantiated from the pipeline manager. Defaults to False.
- add_search_bar()[source]¶
Add an advanced search bar row to the search interface.
- Creates a complete search row containing:
NOT operator toggle
Field selector (populated with available tags)
Condition operator selector (==, !=, >, <, etc.)
Value input field
Remove button to delete this row
The row components are connected with signals to update dynamically based on field type and selected condition.
- apply_filter(filter)[source]¶
Apply a filter to update the displayed scans in the data browser.
Retrieves documents from the database based on the provided filter criteria and updates the table visualization accordingly. If the filter is invalid or an error occurs, displays a warning and reverts to showing all scans.
- Parameters:
filter –
Filter object containing the query criteria with attributes:
nots (list): Negation flags for each condition
values (list): Values to match against
- conditions (list): Comparison operators
(e.g., ‘==’, ‘>’, ‘<’)
- links (list): Logical operators connecting
conditions (‘AND’, ‘OR’)
fields (list): Database fields to query
- Side Effects:
Updates self.rows with filter parameters
Modifies self.data_browser.table_data.scans_to_visualize
May display a warning dialog on error
Calls self.data_browser.table_data.update_visualized_rows()
- displayConditionRules(field, condition)[source]¶
Update available condition operators based on the selected field’s type.
Dynamically adjusts the condition dropdown to show only operators that are valid for the selected field’s data type. Numeric fields allow comparison operators (<, >, <=, >=, BETWEEN), while non-numeric fields exclude them. List fields exclude the IN operator, while non-list fields include it.
- Parameters:
field – QComboBox widget containing the selected tag name.
condition – QComboBox widget whose items will be updated based on the field’s type.
- Behavior:
Numeric types: Include <, >, <=, >=, BETWEEN operators
String/Boolean/List types: Exclude comparison operators
List types: Exclude IN operator
Non-list types: Include IN operator
Special case “All visualized tags”: Treated as non-numeric
- displayValueRules(choice, value)[source]¶
Configure the value input widget based on the selected condition operator.
Adjusts the enabled state and placeholder text of the value input to match the requirements of the selected condition operator.
- Parameters:
choice – QComboBox containing the selected condition operator.
value – QLineEdit widget that will be configured.
- Behavior:
BETWEEN: Enabled with placeholder “value1; value2”
IN: Enabled with placeholder for semicolon-separated list
HAS VALUE/HAS NO VALUE: Disabled and cleared
Other operators: Enabled with no placeholder
- get_filters(replace_all_by_fields)[source]¶
Extract filter criteria from UI widgets.
Parses the filter rows to extract search criteria including fields, conditions, values, logical operators, and negation flags. Handles special cases like “All visualized tags” expansion and operator compatibility validation.
- Parameters:
replace_all_by_fields – If True, replaces “All visualized tags” with the actual list of visible fields. If False, keeps the literal “All visualized tags” text.
- Return (tuple):
A 5-tuple containing: - fields (list): Field names to filter on - conditions (list): Comparison operators (e.g., ‘=’, ‘BETWEEN’) - values (list): Filter values (strings or lists for BETWEEN/IN) - links (list): Logical operators connecting filters (AND/OR) - nots (list): Negation flags for each filter
Note
BETWEEN and IN conditions have their values split into lists
Fields incompatible with operators are automatically removed
- launch_search()[source]¶
Execute search query and update the data browser table.
Retrieves filter parameters, constructs and executes a database query, then updates the data browser’s visualized scans with the results. If the search fails, displays an error dialog and reverts to showing all available scans.
- Side Effects:
Updates self.data_browser.table_data.scans_to_visualize
Updates self.data_browser.table_data.scans_to_search
Updates self.project.currentFilter (if not from_pipeline)
Displays error dialog on search failure
- static prepare_filters(links, fields, conditions, values, nots, scans)[source]¶
Construct a filter query string from filter components.
Builds a query by combining multiple filter rows with logical operators (AND/OR), where each row can filter across multiple fields with optional negation.
- Parameters:
links – Logical operators joining filter rows (e.g., [‘AND’, ‘OR’]). Length should be len(fields) - 1.
fields – Nested list where each sublist contains field names to filter on. Fields within a row are OR-combined.
conditions – Filter operators for each row. Supported values: ‘==’, ‘!=’, ‘<’, ‘>’, ‘<=’, ‘>=’, ‘IN’, ‘BETWEEN’, ‘CONTAINS’, ‘HAS VALUE’, ‘HAS NO VALUE’.
values – Filter values corresponding to each condition. For ‘BETWEEN’, provide a two-element sequence [min, max].
nots – Negation flags for each row (‘NOT’ to negate, empty string otherwise).
scans – List of scan identifiers to restrict the search scope.
- Returns:
Complete filter query string with all conditions and scan restrictions.
- refresh_search()[source]¶
Refresh the search widget by rebuilding its layout with the current filters.
- This method performs the following steps:
Retrieves the current filter values without replacing “All visualized tags”.
Clears the old layout and cleans up its widgets.
Removes and restores row borders according to the links.
Rebuilds the main grid layout with all row widgets.
Adds the search button in a horizontal layout at the bottom.
Sets the new combined layout as the widget’s layout.
- remove_row(row_layout)[source]¶
Remove a specified row from the layout while ensuring at least one row remains.
This method deletes all widgets in the specified row, removes the row from the internal rows list, and refreshes the view.
- Parameters:
row_layout – The row (list of widgets) to remove.
- rows_borders_added(links)[source]¶
Add UI controls (links and add button) to search query rows.
Adds a green plus button to the last row for adding new search bars, and adds AND/OR combo boxes to all rows except the first one for linking query conditions.
- Parameters:
links – List of previously selected link operators (‘AND’/’OR’) to restore when rebuilding the UI.
- class populse_mia.user_interface.data_browser.data_browser.CountTable(project)[source]¶
Bases:
QDialogA visual tool for verifying medical scan completeness through tag combination analysis.
This dialog provides an interactive interface to analyze medical scan data by selecting multiple tags (metadata fields) and displaying their combinations in a matrix format. The tool helps identify missing scans by showing which combinations of tag values have corresponding data.
The interface consists of: - Dynamic tag selection buttons (expandable from 2 to n tags) - Add/remove controls for tag management - A results table showing all possible combinations - Visual indicators (✓/✗) for data presence/absence
- Table Structure:
Rows: All combinations of the first (n-1) selected tags
Columns: First (n-1) tag names + values of the last tag
Cells: Count of matching scans or absence indicator
Footer: Total counts per column
Example
With tags [PatientName, TimePoint, SequenceName] for 2 patients (P1, P2), 3 timepoints (T1, T2, T3), and sequences (RARE, MDEFT, FLASH):
- Key Features:
Dynamic tag addition/removal
Real-time scan counting
Visual missing data indicators
Hover tooltips showing specific scan files
Automatic table resizing
- __init__(project) None[source]¶
Initialize the CountTable with the given project.
- Parameters:
project – The current medical imaging project containing scan database
- _create_clickable_label(image_name: str, click_handler: Callable) ClickableLabel[source]¶
Create a clickable label with an image.
- Parameters:
(str) (image_name) – The filename of the image to display on the label.
(Callable) (click_handler) – The function to be called when the label is clicked.
- Return (ClickableLabel):
A label displaying the specified image, which triggers the click handler when clicked.
- _create_push_button(text: str, idx: int) QPushButton[source]¶
Create and configure a tag selection button.
- Parameters:
(str) (text) – The text to display on the button.
(int) (idx) – The index associated with the button for tag selection.
- Return (QPushButton):
A configured QPushButton that triggers the tag selection when clicked.
- count_scans() None[source]¶
Generate and populate the scan count table.
Creates a matrix showing all combinations of selected tag values, with counts or indicators for each combination’s scan availability. Early returns if no tags are selected or if database access fails.
- fill_first_tags() None[source]¶
Populate table cells for the first (n-1) selected tags.
Generates all possible combinations of the first n-1 tag values and fills corresponding table cells. Also adds total counts in the bottom row.
- fill_headers() None[source]¶
Populate table headers with tag names and last tag values.
- Sets horizontal headers for:
First n-1 columns: tag names
Remaining columns: values of the last selected tag
Also adds a “Total” row header.
- fill_last_tag() None[source]¶
Populate cells for the last selected tag with scan counts or indicators.
- For each combination of first n-1 tags and each value of the last tag:
Queries database for matching scans
Shows count with checkmark if scans exist
Shows red X if no scans found
Adds scan filenames as tooltip
Updates column totals
- fill_values(idx: int) None[source]¶
Populate values list for the tag at the specified index.
Extracts all unique values for the selected tag from the database and stores them for table generation.
- Parameters:
(Int) (idx) – Index of the select tag
- class populse_mia.user_interface.data_browser.data_browser.MiniViewer(project)[source]¶
Bases:
QWidgetMiniViewer allows rapid visualization of scans with either a single image per scan or all images of the greater dimension of the scan.
Displayed images depend on their dimension: - 3D: Display all slices. - 4D: Display the middle slice of the third dimension for each time of the
fourth dimension.
- 5D: Display the middle slice of the third dimension for the first time
of the fourth dimension for each time of the fifth dimension.
Note
idx corresponds to the index of the displayed image
idx in [0, self.max_scans]
- most of the class’s attributes are lists of 0 to self.max_scans
elements
- __init__(project)[source]¶
Initialize the MiniViewer with project configuration.
The MiniViewer provides a thumbnail preview interface for scans, initially hidden to maximize space for the data browser.
- Parameters:
project – The current project instance containing scan data and project-specific configuration.
- _create_layouts()[source]¶
Initialize and configure all layout managers for the MiniViewer widget.
- Creates a hierarchical layout structure with:
Horizontal layouts for images, sliders (3D/4D/5D), checkboxes, and thumbnails
Vertical layouts for main content organization and slider grouping
Sets the final vertical layout as the widget’s root layout
All layouts are stored as instance attributes for later population with widgets.
- _create_top_bar()[source]¶
Create and configure the top control bar of the MiniViewer.
This method initializes a persistent horizontal container holding the main interactive controls of the viewer, including:
A checkbox to enable/disable cursor display
An orientation label centered in the layout
A checkbox to switch to “all slices” display mode
Slice configuration controls (label + line edit), hidden by default
- _initialize_checkboxes()[source]¶
Initialize checkboxes for controlling visualization behavior.
- Creates two checkboxes:
- ‘Show all slices’: Toggles between displaying all slices or
using cursors
‘Chain cursors’: Links cursors across multiple selected documents
Both checkboxes are initialized with their states from the current config and connected to their respective event handlers.
- _initialize_components()[source]¶
Initialize UI components for the MiniViewer.
- Creates and configures the main UI elements including:
Frame containers and scroll area for layout management
Slice count control with label and editable line input
Orientation label (radiological vs neurological view)
Empty collections for dynamic image display elements (sliders, labels, images)
- Note: Image-related collections are initialized as empty lists and
populated dynamically based on the loaded data dimensions.
- boxSlider(idx)[source]¶
Initialize dimensional sliders and value fields for a given index.
Creates three sliders (3D, 4D, 5D) with their corresponding text fields and connects each slider’s valueChanged signal to the appropriate position update handler.
- Parameters:
(int) (idx) – The index position where sliders should be inserted.
- Note: Each slider is connected to changePosValue with dimension
- offsets:
3D slider: dimension 1
4D slider: dimension 2
5D slider: dimension 3
- changePosValue(idx, cursor_to_change)[source]¶
Synchronize cursor positions across multiple image viewers when chain mode is enabled.
When the “Chain cursors” checkbox is checked, this method propagates the cursor value from the modified viewer to all other viewers, scaling the value proportionally to account for different cursor ranges.
- Parameters:
(int) (cursor_to_change) – Index of the viewer whose cursor was changed.
(int) – Cursor identifier (1=3D, 2=4D, 3=5D).
Notes
If chain mode is disabled, only updates the image for the given index.
Boundary values (min/max) are preserved exactly.
Intermediate values are scaled linearly to maintain relative position.
- check_box_cursors_state_changed()[source]¶
Update cursor chaining configuration based on checkbox state.
Synchronizes the cursor chaining setting in the configuration with the current state of the checkbox. When enabled, cursors will be chained together across views.
- clear()[source]¶
Clear cached Nibabel image to free memory.
Removes the internal image reference if it exists, allowing the image object to be garbage collected.
- clear_layouts()[source]¶
Remove and safely delete all widgets from the dynamic content layout.
This method clears the self.content_layout by iteratively removing each item and scheduling any associated QWidget for deletion using deleteLater(). This ensures proper memory management and avoids immediate deletion issues within the Qt event loop.
Only widgets contained in self.content_layout are affected. Persistent UI elements (such as the top control bar) must not be part of this layout and are therefore preserved.
- createDimensionLabels(idx)[source]¶
Create and configure dimension labels for the specified index.
Creates three QLabel widgets (3D, 4D, and 5D) at the given index position, configures them with a 9-point font, and sets their text labels.
- Parameters:
idx – The index position where the labels should be inserted.
- createFieldValue()[source]¶
Create a read-only field for displaying cursor position.
- Return (QLineEdit):
A disabled, center-aligned text field with fixed width (65px) and font size (9pt) for displaying coordinate values.
- create_slider(minimum=0, maximum=0, position=0)[source]¶
Create a horizontal slider widget.
- Parameters:
minimum – The minimum value of the slider. Defaults to 0.
maximum – The maximum value of the slider. Defaults to 0.
position – The initial position/value of the slider. Defaults to 0.
- Return QSlider:
A configured horizontal slider widget, initially disabled.
Note: The slider is created with strong focus policy and a tick interval of 1. It starts in a disabled state. With default parameters (min=0, max=0), the slider has no range and should be configured before enabling.
- displayPosValue(idx)[source]¶
Update position display for all dimensional sliders at the given index.
Updates the text labels for 3D, 4D, and 5D sliders to show the current position (1-indexed) and maximum value in the format “current / max”.
- Parameters:
idx – Index of the slider group to update (0-based).
- enableSliders(idx)[source]¶
Enable sliders at the specified index across all dimensions.
- Parameters:
idx – Index of the sliders to enable across 3D, 4D, and 5D slider collections.
- image2DModifications(idx, im2D=None)[source]¶
Apply display modifications to a 2D image slice.
Processes an image for optimal display by: 1. Resizing to standard display dimensions 2. Rescaling intensities with percentile-based clipping 3. Converting to appropriate display data type 4. Applying orientation rotation (radiological/neurological)
- Parameters:
idx – Index of the image slice in the internal array
im2D – Optional 2D numpy array to modify. If None, uses self.im_2D[idx]
- Note: When im2D is not provided, the modified image is stored in
self.im_2D[idx]
- image_to_pixmap(im, i)[source]¶
Convert an N-dimensional NIfTI image to a 2D Qt pixmap.
Extracts a 2D slice from multi-dimensional medical imaging data and converts it to a Qt pixmap for display. The extraction strategy depends on dimensionality:
3D images: Extract slice at index i along the z-axis
4D images: Extract middle z-slice from the 3D volume at time index i
- 5D images: Extract middle z-slice from the 3D volume at time index 1
of the 4D volume at the 5th dimension index i
- Parameters:
im – NIfTI image object with a dataobj attribute
i – Index for slice/volume selection along the outermost variable dimension
- Return (QPixmap):
Qt pixmap ready for display, or pixmap from empty array if dimensionality is unsupported
- indexImage(idx)[source]¶
Update the displayed 2D image slice and adjust slider ranges according to the dimensionality of the selected image.
The current values of the 3D, 4D, and 5D sliders are used to extract the corresponding slice from the image data. Sliders that exceed the image dimensionality are reset to a maximum value of 0.
- Parameters:
idx – Index of the selected image
- mem_release()[source]¶
Release memory by clearing all internal lists holding images, sliders, labels, and related UI elements.
This method empties the existing lists in place (without reassigning them) to ensure that all references are removed and memory can be reclaimed.
Display the 2D image corresponding to the given index.
This method updates the navigation state, applies image-specific modifications, converts the image to a Qt pixmap, and displays it in the associated label.
- Parameters:
(int) (idx) – Index of the image to display
- openTagsPopUp()[source]¶
Open a modal dialog allowing the user to select the tag used as the thumbnail legend.
If the dialog is accepted, slice verification is triggered for the current file paths.
Notes: The dialog instance is stored on
self.popUpto allow access from unit tests.
- setThumbnail(file_path_db, idx)[source]¶
Set the thumbnail description label for a given image index.
Retrieves the value of the configured thumbnail tag from the database and displays it under the image frame. If the value is not defined, a default placeholder is used. The tooltip shows the tag name.
- Parameters:
(str) (file_path_db) – Path of selected image in database format (ex. data/raw_data/mymri.nii’)
(int) (idx) – Index of the image in the UI.
- show_slices(file_paths)[source]¶
Display thumbnail previews of neuroimaging files with interactive controls.
Creates a thumbnail viewer showing either cursor-controlled slices or multiple slices from the selected neuroimaging files. On first call, makes the MiniViewer visible. Does nothing if the viewer is hidden by the user.
The viewer supports two display modes: - Cursor mode (default): Shows one slice per image with interactive
3D/4D/5D sliders
All slices mode: Displays multiple consecutive slices from each image
- Parameters:
file_paths – List of paths to neuroimaging files (NIfTI format) to display. Invalid or non-existent files are automatically filtered out with warnings.
- Side effects:
Modifies self.file_paths by removing invalid entries
Updates self.img list with loaded image objects
Creates and configures numerous Qt widgets for the thumbnail display
Logs warnings for files that cannot be loaded or displayed
Note
Maximum thumbnails displayed is controlled by self.config.get_max_thumbnails() in cursor mode, and by self.line_edit_nb_slices.text() in all slices mode.
- update_nb_slices()[source]¶
Update slice configuration and refresh thumbnails.
Triggered when the user modifies the number of slices to visualize. Updates the configuration with the new slice count and re-validates the current file paths to regenerate thumbnails accordingly.
Notes: The slice count is retrieved from the UI line edit widget and applied to all loaded files.
- update_visualization()[source]¶
Update visualization settings and refresh thumbnails.
Synchronizes the slice visualization preference (show all slices vs. single slice) based on the checkbox state, updates the configuration, and regenerates thumbnails for the current file paths.
This method is triggered when the user toggles the “show all slices” checkbox.
- verify_slices(file_paths)[source]¶
Update slice display settings based on the number of selected files.
When multiple files are selected, the “Show all slices” checkbox is disabled and unchecked to prevent viewing slices from multiple files simultaneously. For single file selection, the checkbox remains enabled.
- Parameters:
file_paths – List or collection of selected document file paths.
- class populse_mia.user_interface.data_browser.data_browser.ModifyTable(project, value, types, scans, tags)[source]¶
Bases:
QDialogDialog to modify cell contents containing lists in the data browser tab.
This dialog provides a user interface to edit cells that contain list values. It displays the list elements in a table and allows users to add or remove elements.
- __init__(project, value, types, scans, tags)[source]¶
Initialize the ModifyTable dialog.
- Parameters:
project – Instance of the current project
value – List of values in the cell to be modified
types – Allowed value types for validation
scans – Scan identifiers corresponding to rows
tags – Tag identifiers corresponding to columns
- _convert_value(text, field_type)[source]¶
Convert a text value to the appropriate type based on field_type.
- Parameters:
text – String value to convert
field_type – Database field type constant
- Returns:
The converted value in the appropriate type
- _show_error_message(value, type_problem)[source]¶
Display an error message for invalid values.
- Parameters:
value – The invalid value
type_problem – The specific type that failed validation
- fill_table()[source]¶
Populate the table with the current list elements.
Configures the table dimensions, populates cells with values, and adjusts table size to fit content within reasonable bounds.
- class populse_mia.user_interface.data_browser.data_browser.RapidSearch(databrowser)[source]¶
Bases:
QLineEditWidget for pattern searching in table data across visualized tags.
Supports special search syntax: - ‘%’: Wildcard for any string - ‘_’: Wildcard for any single character - ‘Not Defined’: Matches scans with missing values
Dates should be formatted as: yyyy-mm-dd hh:mm:ss.fff
- __init__(databrowser)[source]¶
Initialize the RapidSearch widget.
- Parameters:
databrowser – Parent data browser widget
- prepare_not_defined_filter(tags)[source]¶
Create a filter for finding entries with undefined values.
- Parameters:
(list) (tags) – List of tags to check for null values
- Return (str):
QL-like filter expression for finding null values
- static prepare_filter(search, tags, scans)[source]¶
Create a filter for searching text across specified tags.
- Parameters:
(str) (search) – Search pattern to look for
(list) (scans) – List of tags to search within
(list) – List of scans to restrict the search to
- Return (str):
SQL-like filter expression for the search
- class populse_mia.user_interface.data_browser.data_browser.ClickableLabel[source]¶
Bases:
QLabelA QLabel subclass that emits a signal when clicked.
- clicked¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- class populse_mia.user_interface.data_browser.data_browser.PopUpAddPath(project, databrowser)[source]¶
Bases:
QDialogDialog for adding a document to the project without using the MRI Files Manager (File > Import).
- class populse_mia.user_interface.data_browser.data_browser.PopUpAddTag(databrowser, project)[source]¶
Bases:
QDialogDialog for adding a new tag to the project.
This dialog allows users to create a new tag by specifying its name, default value, description, unit, and type.
- signal_add_tag¶
Signal emitted when a new tag is successfully added
- - _connect_signals
Connect signals to slots
- - _setup_layouts
Set up the layout of UI elements
- - _setup_ui
Set up the dialog UI elements
- - _show_error
Display an error message box
- - ok_action
Validates input fields and adds the new tag if valid
- - on_activated
Updates form fields when tag type is changed
- signal_add_tag¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- __init__(databrowser, project)[source]¶
Initialize the dialog for adding a new tag.
- Parameters:
databrowser – The data browser instance
project – The current project in the software
- _show_error(text, informative_text)[source]¶
Display an error message box.
- Parameters:
text – The main error message text
informative_text – The additional informative text
- class populse_mia.user_interface.data_browser.data_browser.PopUpCloneTag(databrowser, project)[source]¶
Bases:
QDialogDialog for cloning an existing tag with a new name.
This dialog allows users to select an existing tag from the project and clone it with a new name.
- signal_clone_tag¶
Signal emitted when a tag is successfully cloned
- - _connect_signals
Connect signals to slots
- - _populate_tag_list
Populate the tag list with available tags
- - _setup_ui
Set up the dialog UI elements
- - _show_error
Display an error message box
- - ok_action
Validates the new tag name and clones the selected tag
- - search_str
Filters the tag list based on a search string
- signal_clone_tag¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- __init__(databrowser, project)[source]¶
Initialize the dialog for cloning a tag.
- Parameters:
databrowser – The data browser instance
project – The current project in the software
- _connect_signals(project)[source]¶
Connect signals to slots.
- Parameters:
project – The current project
- _populate_tag_list(project)[source]¶
Populate the tag list with available tags from the project.
- Parameters:
project – The current project
- _show_error(text, informative_text)[source]¶
Display an error message box.
- Parameters:
text – The main error message text
informative_text – The additional informative text
- class populse_mia.user_interface.data_browser.data_browser.PopUpDataBrowserCurrentSelection(project, databrowser, filter, main_window, TableDataBrowser)[source]¶
Bases:
QDialogDialog to display and confirm the current data browser selection.
This dialog shows a table of the currently selected document from the data browser and allows the user to confirm or cancel the selection. When confirmed, it updates the scan_list attribute of relevant components in the main window.
- project¶
Current project in the software.
- databrowser¶
Data browser instance of the software.
- filter¶
List of the current documents in the data browser.
- main_window¶
Main window of the software.
- __init__(project, databrowser, filter, main_window, TableDataBrowser)[source]¶
Initialize the dialog with the current project and selection data.
- Parameters:
project – Current project in the software
databrowser – Data browser instance of the software
(list) (filter) – List of the current documents in the data browser
main_window – Main window of the software
TableDataBrowser – Class for displaying data in a table format
- class populse_mia.user_interface.data_browser.data_browser.PopUpMultipleSort(project, table_data_browser)[source]¶
Bases:
QDialogDialog for sorting the data browser’s table based on multiple tags.
This dialog allows users to select multiple tags (columns) for sorting table data in either ascending or descending order. Users can dynamically add or remove sort criteria.
- __init__(project, table_data_browser)[source]¶
Initialize the multiple sort dialog.
- Parameters:
project – Current project in the software
table_data_browser – Data browser’s table to be sorted
- fill_values(idx)[source]¶
Collect unique values for the selected tag.
- Parameters:
idx – Index of the tag button in the push_buttons list
- class populse_mia.user_interface.data_browser.data_browser.PopUpProperties(project, databrowser, old_tags)[source]¶
Bases:
QDialogDialog for modifying project properties.
Allows users to change project settings, including visualized tags and information. Is called when the user wants to change the current project’s properties (File > properties).
- signal_settings_change¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- class populse_mia.user_interface.data_browser.data_browser.PopUpRemoveScan(scan, size)[source]¶
Bases:
QDialogDialog to confirm removal of a scan previously sent to the pipeline manager.
Provides options to remove or keep a scan, with additional ‘apply to all’ functionality when multiple scans are involved. Is called when the user wants to remove a scan that was previously sent to the pipeline manager.
- __init__(scan, size)[source]¶
Initialize the remove scan confirmation dialog.
- Parameters:
scan – Identifier of the scan to be potentially removed.
size – Total number of scans in the removal process.
- cancel_clicked()[source]¶
Handle ‘Cancel’ action.
Sets stop flag to True and indicates no global action.
- no_all_clicked()[source]¶
Handle ‘No to All’ action.
Sets stop flag to True and indicates a global ‘No’ action.
- class populse_mia.user_interface.data_browser.data_browser.PopUpRemoveTag(databrowser, project)[source]¶
Bases:
QDialogDialog for removing user-defined tags from a Populse MIA project.
Allows users to select and remove custom tags from the project’s database.
- signal_remove_tag¶
int = …, arguments: Sequence = …) -> PYQT_SIGNAL
types is normally a sequence of individual types. Each type is either a type object or a string that is the name of a C++ type. Alternatively each type could itself be a sequence of types each describing a different overloaded signal. name is the optional C++ name of the signal. If it is not specified then the name of the class attribute that is bound to the signal is used. revision is the optional revision of the signal that is exported to QML. If it is not specified then 0 is used. arguments is the optional sequence of the names of the signal’s arguments.
- Type:
pyqtSignal(*types, name
- Type:
str = …, revision
- __init__(databrowser, project)[source]¶
Initialize the remove tag dialog.
- Parameters:
databrowser – Data browser instance managing project data.
project – Current project containing tags to be removed.
- class populse_mia.user_interface.data_browser.data_browser.PopUpSelectFilter(project, databrowser)[source]¶
Bases:
PopUpFilterSelectionPopup window for selecting and opening a previously saved filter.
- class populse_mia.user_interface.data_browser.data_browser.PopUpShowHistory(project, brick_uuid, scan, databrowser, main_window)[source]¶
Bases:
QDialogA dialog for displaying the history of a document in a software pipeline.
This class creates a popup window that provides comprehensive information about a specific brick (processing node) in a pipeline, including: - Pipeline visualization - Input and output parameters - Initialization and execution details
The dialog allows users to: - View the pipeline structure - Inspect node details - Navigate between associated bricks - Select and highlight specific files
- __init__(project, brick_uuid, scan, databrowser, main_window)[source]¶
Initialize the document history popup.
- Parameters:
project – Current project in the software
(str) (scan) – Unique identifier of the brick
(str) – Filename of the scan
databrowser – Data browser instance
main_window – Main window of the software
- _updateio_table(io_dict, item_idx)[source]¶
Populate the table’s input and output sections with given dictionary data.
This method dynamically creates table headers and cell widgets based on the input dictionary, handling nested lists and detecting scanned file paths.
- Parameters:
(dict) (io_dict) – Dictionary containing input or output data to be displayed. Keys represent column headers, and values can be strings, lists, or nested lists.
(int) (item_idx) – The starting column index for populating the table
- Return (int):
The updated column index after processing the dictionary.
- find_associated_bricks(node_name)[source]¶
Find bricks associated with a given node name.
- Parameters:
(str) (node_name) – The name of the node to find associated bricks for.
- Return (dict):
A dictionary where the keys are the full brick names and the values are lists of associated UUIDs.
- find_process_from_plug(plug)[source]¶
Find the process and plug name from a given plug.
- Parameters:
(Plug) (plug) – The plug object to find the process and plug name from.
- Return (tuple):
A tuple containing the process name (str) and plug name (str).
- handle_pipeline_nodes(pipeline, full_brick_name)[source]¶
Handle pipeline nodes, set up the view, and initialize the pipeline visualization.
- Parameters:
(Pipeline) (pipeline) – The pipeline object containing the nodes to handle.
(list) (full_brick_name) – The full name of the brick, split into parts.
- highlight_selected_node(node_name)[source]¶
Highlight the selected node in the pipeline view.
- Parameters:
(str) (node_name) – The name of the node to highlight.
- initialize_pipeline(full_brick_name)[source]¶
Initialize the pipeline view using the given pipeline XML.
- Parameters:
(list) (full_brick_name) – The full name of the brick, split into parts.
- io_value_is_scan(value)[source]¶
Check if the I/O value is a scan.
- Parameters:
value – I/O value
- Returns:
The scan corresponding to the value if it exists, None otherwise
- load_data(brick_uuid, scan)[source]¶
Load data from the project database and update the table with brick data.
- Parameters:
(str) (scan) – The UUID of the brick to load.
(str) – The identifier of the scan associated with the brick.
- load_pipeline_data(history_uuid, full_brick_name)[source]¶
Load pipeline data from the database based on the provided history UUID.
- Parameters:
(str) (history_uuid) – The UUID of the history record to load pipeline data from.
(list) (full_brick_name) – The full name of the brick, split into parts.
- node_selected(node_name, process)[source]¶
Handle node selection and update the table.
- Parameters:
node_name – node name
process – process of the corresponding node
- select_node(pipeline, bricks, full_brick_name)[source]¶
Select the node in the pipeline view based on the provided brick UUID.
- Parameters:
(Pipeline) (pipeline) – The pipeline object containing the nodes to handle.
(dict) (bricks) – A dictionary of bricks with UUIDs as values.
(list) (full_brick_name) – The full name of the brick, split into parts.
- update_table(inputs, outputs, brick_name, init='', init_time=None, exec='', exec_time=None)[source]¶
Updates the table with information about a brick’s execution state.
- Parameters:
(dict) (outputs) – Dictionary containing input data.
(dict) – Dictionary containing output data.
(str) (brick_name) – Name of the brick.
optional) (exec_time (Any,) – Initialization status.
optional) – Initialization timestamp.
optional) – Execution status.
optional) – Execution timestamp.
- Contains:
- create_cell_widget: Creates a QWidget containing a vertically
aligned QLabel
- update_table_for_single_brick(bricks, node_name, full_node_name)[source]¶
Update the table for a single brick, using the provided brick data.
- Parameters:
(dict) (bricks) – A dictionary of bricks with UUIDs as values.
(str) (node_name) – The name of the node associated with the brick.
(list) (full_node_name) – The full name of the node, split into parts.
- update_table_for_subpipeline(bricks, process, full_node_name)[source]¶
Update the table for a subpipeline based on the given process and brick data.
- Parameters:
(dict) (bricks) – A dictionary of bricks with UUIDs as values.
(PipelineNode) (process) – The process node associated with the subpipeline.
(list) (full_node_name) – The full name of the node, split into parts.
- populse_mia.user_interface.data_browser.data_browser.check_value_type(value, value_type, is_subvalue=False)[source]¶
Checks the type of new value in a table cell (QTableWidget).
- Parameters:
(str) (value) – Value of the cell (always a str, can be a string representation of a list)
(type) (value_type) – Expected type (can be list[str], list[int], etc.)
(bool) (is_subvalue) – Whether the value is a subvalue of a list.
- Returns:
True if the value is valid to replace the old one, False otherwise
- populse_mia.user_interface.data_browser.data_browser.safe_connect(signal, slot)[source]¶
Connect a Qt signal to a slot, ensuring a single connection.
First disconnects
signalfromslot(if connected) to avoid duplicate connections, then connects them. This guarantees that the slot is connected exactly once.- Parameters:
signal – The Qt signal to (re)connect.
slot – The slot (callable) to connect to the signal.
- populse_mia.user_interface.data_browser.data_browser.safe_disconnect(signal, slot)[source]¶
Disconnect a Qt signal from a slot if connected.
Attempts to disconnect
signalfromslotand silently ignores the error raised when the connection does not exist. This makes the operation idempotent and safe to call multiple times.- Parameters:
signal – The Qt signal to disconnect from.
slot – The slot (callable) previously connected to the signal.
- populse_mia.user_interface.data_browser.data_browser.set_item_data(item, value, value_type)[source]¶
Sets the data for a given item in the data browser based on the expected type.
This function prepares the input value according to the specified value_type, converting it into a format suitable for PyQt’s QVariant. It supports both primitive types (e.g., int, str, float) and more complex types like datetime, date, time, and lists of these types.
- Parameters:
(QStandardItem) (item) – The item to update (expected to support setData method).
(Any) (value) – The new value to set for the item.
(Type) (value_type) – The expected type of the value, which can be a standard Python type (e.g., str, int, float, bool) or a typing-based list type (e.g., list[int], list[datetime]).
- populse_mia.user_interface.data_browser.data_browser.table_to_database(value, value_type)[source]¶
Prepares the value to the database based on its type.
- Parameters:
(Any) (value) – Value to convert.
(Type) (value_type) – Value type.
- Return (Any):
The value converted for the database.
- populse_mia.user_interface.data_browser.data_browser.type_name(t)[source]¶
Returns the name of a type or a string representation for generic aliases.
- Parameters:
(Any) (t) – The type to get the name or representation for. This can be a regular type (e.g., str, list) or a generic alias (e.g., list[str]).
- Returns:
The name of the type (e.g., ‘str’) or the string representation of the generic alias (e.g., ‘list[str]’).
- class populse_mia.user_interface.data_browser.data_browser.DataBrowser(project, main_window)[source]¶
Bases:
QWidgetWidget that manages and displays the contents of the Data Browser tab.
The Data Browser provides an interface for viewing, filtering, tagging, and sending documents to the pipeline manager. It integrates tools for advanced search, tag management, and visual inspection of loaded data.
- __init__(project, main_window)[source]¶
Initialization of the data_browser class.
- Parameters:
project – Current project in the software
main_window – Main window of the software
- add_tag_infos(new_tag_name, new_default_value, tag_type, new_tag_description, new_tag_unit)[source]¶
Add a new tag to both current and initial database collections.
This method creates a new tag field in the database schema and populates it with default values for all existing scans. The operation is tracked in the project’s undo/redo history.
- Parameters:
(str) (new_tag_unit) – Name of the new tag to create
new_default_value – Default value to assign to all existing scans
(str) – Data type of the tag (e.g., FIELD_TYPE_STRING, FIELD_TYPE_FLOAT)
(str) – Human-readable description of the tag
(str) – Unit of measurement for the tag value
Note
Marks the project as having unsaved modifications
Adds the operation to the undo history
Updates the UI table with the new column
- add_tag_pop_up()[source]¶
Display a popup window for adding a new tag to the project.
This method initializes and shows a PopUpAddTag dialog, allowing the user to add a new tag to the current project. The popup is modal and tied to the current project context.
- clone_tag_infos(tag_to_clone, new_tag_name)[source]¶
Clone a tag and its associated data, creating a new tag with the same attributes and values.
This method clones the specified tag, including its schema and data, into a new tag. The new tag is added to both the current and initial collections, and all existing values for the original tag are copied to the new tag. The operation is recorded in the project’s undo history.
- Parameters:
(str) (new_tag_name) – Name of the tag to clone
(str) –
Name of the new tag to create
- Notes:
The new tag is added to the database schema and data for both COLLECTION_CURRENT amd COLLECTION_INITIAL collections.
The project’s unsaved modifications flag is set to True.
The operation is recorded in the project’s undo history.
- connect_actions()[source]¶
Connect UI actions to their corresponding methods.
Binds each action’s triggered signal to the appropriate slot method, enabling interactive functionality for tag management and filter operations.
- move_splitter()[source]¶
Connect the mini viewer if the splitter is not at its minimum position.
Checks whether the bottom pane of the vertical splitter is at its minimum height. If it’s larger than the minimum, connects the mini viewer.
- open_filter()[source]¶
Display a dialog for selecting and opening a saved project filter.
Creates and shows a PopUpSelectFilter dialog, allowing the user to choose from previously saved filters associated with the current project. The dialog is stored as an instance attribute to maintain a reference during its lifetime.
- open_filter_infos()[source]¶
Apply the current project filter to the data table.
Opens the advanced search interface if the filter contains exclusion criteria (nots), updates the search bar text, and refreshes the visualized scans to match the filtered document collection.
- The method:
Retrieves documents from the current collection
Updates scans_to_visualize and scans_to_search
Applies the filter’s search bar text
Shows advanced search interface if exclusion filters exist
- remove_tag_infos(tag_names_to_remove)[source]¶
Remove specified tags from the database and update the UI.
This method removes tags from both the current and initial collections, preserving tag attributes and values in the undo history. The table display is updated to reflect the changes.
- Parameters:
tag_names_to_remove – Iterable of tag names (str) to remove from the database and table display.
- Side Effects:
Marks project as having unsaved modifications
Adds removal operation to undo history
Clears redo history
Removes columns from table display
Temporarily disconnects and reconnects table selection signal
- remove_tag_pop_up()[source]¶
Display a modal dialog for removing user tags from the project.
Creates and shows a PopUpRemoveTag instance, allowing the user to select and remove tags associated with the current project.
- reset_search_bar()[source]¶
Clear the search bar input field.
This method resets the search bar to an empty state by clearing any existing text content.
- search_str(str_search)[source]¶
Search and filter documents in the table based on a search string.
Updates the table’s visualized documents based on the search criteria. An empty string shows all searchable scans. The special value NOT_DEFINED_VALUE filters for documents with undefined field values.
- Parameters:
str_search – The search string to filter documents. Empty string returns all searchable scans. NOT_DEFINED_VALUE returns scans with undefined values.
- send_documents_to_pipeline()[source]¶
Display a popup dialog for sending filtered scans to the Pipeline Manager.
Retrieves the currently filtered scans from the table data and presents them in a selection popup, allowing the user to confirm which scans to send to the pipeline.
The popup is shown modally and references the main window as its parent.
- show_clone_tag_popup()[source]¶
Display a popup dialog for cloning a tag.
This method initializes and shows a popup dialog (PopUpCloneTag) to allow the user to clone a tag within the current project context.
The popup is stored as an instance variable for later reference if needed.
- toggle_advanced_search()[source]¶
Toggle the visibility of the advanced search interface.
If the advanced search is hidden, it resets and displays the search interface, updating the scans list to the current visualized scans. If the advanced search is visible, it hides the interface, resets the search state, and restores the original scans list to the data browser.
This method ensures the UI and data state are synchronized with the visibility of the advanced search.
- update_database(database)[source]¶
Update the project database and reset UI state.
This method propagates the database instance to all components that need it and resets UI elements to their default state. It’s called during project lifecycle events (new, open, save as).
- Parameters:
database – The new Database instance to use across the application.
- class populse_mia.user_interface.data_browser.data_browser.DateFormatDelegate(parent=None)[source]¶
Bases:
QItemDelegateA custom delegate for handling date editing in table views.
This delegate provides a QDateEdit widget for editing date values in table cells, with dates formatted as DD/MM/YYYY. It replaces the default text editor with a calendar-based date picker for improved user experience and data validation.
- __init__(parent=None)[source]¶
Initialize the DateFormatDelegate.
- Parameters:
parent – Optional parent QObject. Defaults to None.
- createEditor(parent, option, index)[source]¶
Create and return a QDateEdit widget for editing dates.
This method is called by the view when a cell needs to be edited. It creates a date editor with DD/MM/YYYY format.
- Parameters:
parent – The parent widget for the editor.
option – Style options for rendering the item.
index – The model index of the item being edited.
- Return (QDateEdit):
A configured date editor widget.
- class populse_mia.user_interface.data_browser.data_browser.DateTimeFormatDelegate(parent=None)[source]¶
Bases:
QItemDelegateCustom delegate for displaying and editing datetime values in table views.
This delegate provides a QDateTimeEdit widget for editing datetime cells, formatted as DD/MM/YYYY HH:MM:SS.mmm (day/month/year with milliseconds).
- DATETIME_FORMAT = 'dd/MM/yyyy hh:mm:ss.zzz'¶
- class populse_mia.user_interface.data_browser.data_browser.NumberFormatDelegate(parent=None)[source]¶
Bases:
QItemDelegateDelegate for handling numeric input in table cells.
The number of decimal places is automatically inferred from the existing cell value, ensuring consistent formatting of numeric inputs.
- __init__(parent=None)[source]¶
Initialize the NumberFormatDelegate.
- Parameters:
(QWidget) (parent) – The parent widget. Defaults to None.
- createEditor(parent, option, index)[source]¶
Create and configure a QDoubleSpinBox editor for numeric input.
The number of decimal places is determined by examining the current cell value.
- Parameters:
parent – Parent widget for the editor.
option – Style options for the item.
- Paramindex:
Model index of the item being edited.
- Return (QDoubleSpinBox):
A spin box editor configured with the appropriate decimal precision.
- class populse_mia.user_interface.data_browser.data_browser.TableDataBrowser(project, data_browser, tags_to_display, update_values, activate_selection, link_viewer=True)[source]¶
Bases:
QTableWidgetTable widget that displays the documents contained in the database and their associated tags.
- __init__(project, data_browser, tags_to_display, update_values, activate_selection, link_viewer=True)[source]¶
Initialize the data table widget with project data and browser context.
- Parameters:
(Project) (project) – The current project instance containing data and configuration.
(DataBrowser) (data_browser) – Parent DataBrowser widget that contains this table.
(list[str]) (tags_to_display) – List of metadata tags to show as table columns.
(bool) (activate_selection) – If True, enables cell editing; if False, table is read-only.
(bool) – True to enable the selection feature, False otherwise.
link_viewer(bool) – If True, links table selection to external viewer widget. Defaults to True.
Notes
Column sorting and reordering are enabled by default (except first column).
Extended selection mode is used unless
activate_selectionis falsy.A custom context menu is available only when both
activate_selectionandlink_viewerare True.
- add_column(column, tag)[source]¶
Add a new column to the table with the specified tag.
Inserts a column at the given index, configures its header with metadata from the database, sets the appropriate delegate based on field type, and populates cells with current values from the database.
- Parameters:
(int) (column) – Zero-based index where the column should be inserted.
(str) (tag) – Tag name identifying the field to add from the database.
Note
Temporarily disconnects item change signals during insertion to prevent unwanted event triggers, then reconnects them after completion.
- add_columns()[source]¶
Add and update table columns based on database fields.
This method synchronizes the table’s columns with the current database schema by:
Adding columns for new database fields that don’t exist in the table
Populating new columns with values from the database
Removing columns that no longer exist in the database
Applying appropriate formatting delegates based on field types
Maintaining column visibility settings
The method temporarily disconnects item change signals during operation to prevent unwanted events, then reconnects them after completion.
- Note:
The TAG_FILENAME column is always placed first
Columns are sorted alphabetically (except TAG_FILENAME)
System tags (TAG_CHECKSUM, TAG_HISTORY) are excluded
Undefined values are displayed in italic bold text
- add_path()[source]¶
Open a dialog to add documents to the current project.
Creates and displays a PopUpAddPath dialog that allows users to select and add document paths to the project’s data browser.
- add_rows(rows)[source]¶
Insert rows into the table if they don’t already exist.
This method adds new scans to the table, populating each column with data from the database. It displays a progress dialog during the operation and handles special cases like the TAG_BRICKS column with custom widgets.
- Parameters:
rows – An iterable of scan identifiers to be added to the table.
Note
Duplicate scans (already present in the table) are automatically skipped
Sorting is temporarily disabled during the insertion process
The first column (name) is set as non-editable
TAG_BRICKS columns receive custom button widgets for interaction
- batch_update(*, disable_sorting=True)[source]¶
Context manager for efficient batch updates.
This manager temporarily disables repainting, signal emission, and optionally sorting, allowing multiple modifications to the table without triggering unnecessary redraws or signal handling. All previous widget states are restored upon exit, even if an exception occurs.
- Parameters:
(bool) (disable_sorting) – If True (default), temporarily disables sorting during the batch update to prevent rearrangements.
- clear_cell()[source]¶
Clear values from selected cells in the table.
This method removes data from the currently selected cells in the database and updates the UI to reflect the cleared state. The operation is recorded in the project’s undo history for potential reversal.
- The method performs the following actions for each selected cell:
Retrieves the current value from the database
Removes the value from the database
Updates the cell’s visual appearance (italic + bold)
Records the change for undo/redo functionality
- Side Effects:
Modifies database values in COLLECTION_CURRENT
Updates table cell formatting
Appends operation to project.undos
Clears project.redos
Create and display the context menu for the table, and perform the corresponding action based on the user’s selection.
- Parameters:
(QPoint) (position) – The mouse cursor position relative to the widget.
- delete_from_brick(brick_id)[source]¶
Delete a brick and its associated documents from the database.
This method cleans up the database when a pipeline (composed of multiple bricks) is initialized but not executed before another pipeline is started or the software is closed. It removes the brick and any orphaned output documents that are not used as inputs elsewhere.
- Parameters:
(str) (brick_id) – The unique identifier of the brick to be deleted.
- display_file()[source]¶
Open the selected file(s) in the user’s default application.
Iterates over all selected items in the view, resolves their absolute paths, and opens each file using the platform’s default application.
Supported platforms: Linux, macOS, and Windows.
- display_unreset_values()[source]¶
Displays a warning dialog listing values that cannot be reset.
This method shows a QMessageBox warning when certain values (such as user tags, FileName, or undefined cells) cannot be reset because they lack a raw value. The dialog includes a descriptive message and an OK button for dismissal.
- edit_table_data_values()[source]¶
Edit and update selected cell values in the DataBrowser table.
This method handles the selection of cells, validation of list lengths, and updating of values in both the table and the database. It supports list-type fields and ensures data consistency across selections.
- Steps:
Collects selected cells and their metadata (coordinates, types, lengths, etc.).
Validates list lengths for compatibility.
Opens a dialog for value modification if valid.
Updates the table and database, and records changes for undo/redo history.
Note
Exits early if the selected tag is ‘TAG_BRICKS’ or if the field type is not a list.
Disconnects and reconnects the itemChanged signal to prevent recursive updates.
- fill_cells_update_table()[source]¶
Initialize and populate table cells with scan data from the database.
- This method performs the following operations:
Creates a progress dialog to track cell population
Retrieves scan documents matching scans_to_visualize from the database
Populates each cell with appropriate data based on column type
Handles special cases (name column, bricks column)
Applies saved sorting preferences
Resizes rows and columns to fit content
- Special column handling:
Column 0 (name): Read-only, always displays as string
Bricks column: Displays clickable buttons for brick history
Other columns: Editable, type-specific formatting
Notes
Displays a modal progress dialog during population
Temporarily hides the table during updates for performance
Connects cell change signals after population completes
- fill_headers(take_tags_to_update=False)[source]¶
Initialize and populate table headers with field metadata.
- Sets up table columns based on database fields, configuring each with:
Appropriate tooltips showing description, unit, and type
Specialized delegates for numeric and temporal data types
Visibility based on display settings or field attributes
- Parameters:
take_tags_to_update – If True, use tags_to_display for visibility. If False, use field visibility attributes. Defaults to False.
- get_current_filter()[source]¶
Get the current data browser selection.
Returns the list of selected scan paths if a selection is active, otherwise returns all visible scan paths in the data browser.
- Return (list):
List of scan paths from either the current selection or all visible scans in the data browser.
- get_index_insertion(to_insert)[source]¶
Find the insertion index for a new column to maintain alphabetical order.
Uses binary search to efficiently locate the correct position for inserting a column header while preserving the existing alphabetical sort order.
- Parameters:
(str) (to_insert) – The column header text to insert.
- Return (int):
The column index where the new column should be inserted. Returns columnCount() if it should be appended at the end.
- Note: Assumes that column 0 is reserved (TAG_FILENAME must always be
the first tag on the left) and start the search from column 1.
- get_scan_row(scan)[source]¶
Find the row index for a given scan filename.
- Parameters:
scan – The scan filename to search for.
- Return(int):
The zero-based row index if the scan is found, None otherwise.
- get_tag_column(tag)[source]¶
Find the column index for a given tag name.
Searches through the table’s horizontal headers to locate the column corresponding to the specified tag.
- Parameters:
(str) (tag) – The name of the tag to search for.
- Return (int):
The zero-based column index if the tag is found, None otherwise.
- mouseReleaseEvent(event)[source]¶
Handle mouse release event and update table data.
This method is called when a mouse button is released over the widget. It delegates to the parent class handler and then updates the table data values.
- Parameters:
(QMouseEvent) (event) – The mouse event containing information about the button released, position, and modifiers.
- multiple_sort_infos(list_tags, order)[source]¶
Sort table rows by multiple tag values.
Sorts the visualized scans based on the values of specified tags, then reorganizes the table rows to reflect the new order. Handles both regular items and special brick widgets during the reordering.
- Parameters:
list_tags(list) – List of tag names to sort by (primary to secondary).
(str) (order) – Sort direction, either “Ascending” or “Descending”.
Note
Temporarily disables item change signals during sorting to prevent triggering update handlers. The sort is stable and preserves the relative order of items with equal sort keys.
- multiple_sort_pop_up()[source]¶
Display the multiple sort configuration dialog.
Creates and shows a modal dialog that allows users to configure multiple sorting criteria for the current project data.
Note
The dialog instance is stored in self.pop_up.
- on_cell_changed(item_origin)[source]¶
Update cell values and appearance when edited by the user.
This method handles both single and multi-cell selection, validating type compatibility across all selected cells before applying changes. It performs the following operations:
Validates that all selected cells have compatible types
Verifies the new value matches the expected type(s)
Updates the database with validated values
Maintains undo/redo history for all modifications
Refreshes cell colors and formatting
Special handling: - PatientName: Removes spaces (used for subfolder naming in
calculations)
TAG_BRICKS/TAG_FILENAME: Read-only fields, changes are rejected
- List types: Prevents mixed type selections but allows homogeneous
lists
- Parameters:
item_origin – QTableWidgetItem from which the edit originated
- Side effects:
Modifies database values for selected cells
Updates cell appearance (colors, fonts)
Adds entry to project undo history
Clears redo history
Resizes columns to fit content
- remove_scan()[source]¶
Remove selected scans from the database and file system.
This method handles the removal of scan documents from both the current and initial collections in the project database. It performs the following:
Prompts user for confirmation if scans are in the active scan list
Preserves modification history for removed scan values
Deletes associated files (.nii and .json) from the file system
Updates the UI table to reflect removals
The removal process can be cancelled by the user when prompted. If multiple scans are selected, the user can choose to apply their decision to all remaining scans.
- Side effects:
Modifies database by removing documents from COLLECTION_CURRENT and COLLECTION_INITIAL
Deletes scan files from the project folder
Updates UI table rows and marks project as having unsaved modifications
- reset_cell()[source]¶
Reset selected cells to their original values from the initial collection.
This method restores the values of all selected cells to their original state by retrieving values from COLLECTION_INITIAL and updating COLLECTION_CURRENT. If any cells lack initial values (e.g., user-created tags), a warning is displayed. The operation is recorded in the project history for undo/redo functionality.
- Side effects:
Updates database values in COLLECTION_CURRENT
Updates table cell display values
Appends operation to project.undos
Clears project.redos
May display a warning dialog for unreset values
Resizes table columns to fit content
- reset_column()[source]¶
Reset selected columns to their original values.
Restores values in selected cells to their initial state from the database. If a cell’s initial value doesn’t exist (e.g., user-added tags), it cannot be reset and a warning will be displayed.
The operation is recorded in the project’s undo history. Any existing redo history is cleared after this operation.
- Side effects:
Updates database values in COLLECTION_CURRENT
Updates table cell displays
Appends to project.undos
Clears project.redos
Resizes columns to fit content
May display warning dialog for unreset values
- reset_row()[source]¶
Reset selected cells to their original values from the initial collection.
Restores the values of all cells in selected rows to their initial state by copying values from COLLECTION_INITIAL to COLLECTION_CURRENT. Only cells with available initial values are reset. User-defined tags without initial values are skipped and trigger a warning dialog.
The operation is recorded in the project’s undo/redo history, allowing users to revert the reset if needed. After resetting, columns are automatically resized to fit their contents.
- Side Effects:
Updates database values in COLLECTION_CURRENT
Updates table cell display values
Appends operation to project.undos
Clears project.redos
Shows warning dialog if any values couldn’t be reset
Resizes table columns
- section_moved(logical_index, old_index, new_index)[source]¶
Handle section movement to keep the FileName column fixed at position 0.
This slot is triggered when a user attempts to reorder table columns. It ensures the FileName column (logical index 0) always remains at the leftmost visual position, regardless of user drag-and-drop actions.
- Parameters:
logical_index – The logical index of the moved column (unused).
old_index – The previous visual position of the column (unused).
new_index – The new visual position of the column (unused).
Note
Parameters are required by the Qt signal signature but not used in the implementation. Uses a guard flag to prevent recursive calls when programmatically repositioning the FileName column.
- select_all_column(col)[source]¶
Select all cells in a column when its header is double-clicked.
This method clears any existing selection before selecting the entire column, ensuring only the specified column is highlighted.
- Parameters:
(int) (col) – The zero-based index of the column to select.
- select_all_columns()[source]¶
Select all columns containing currently selected cells.
Expands the current cell selection to include entire columns. If cells from multiple columns are selected, all corresponding columns will be selected. This method is typically invoked from the context menu.
Note
Temporarily switches selection mode to MultiSelection during operation, then restores ExtendedSelection mode.
- selection_changed()[source]¶
Update the tab view when the table selection changes.
Rebuilds the internal scans list based on currently selected items, grouping tag names by scan name. If link_viewer is enabled, updates the connected mini viewer display.
- Side effects:
Clears and repopulates self.scans with [scan_name, [tag_names]] pairs
Calls data_browser.connect_mini_viewer() if self.link_viewer is True
- show_brick_history(scan)[source]¶
Display a popup window showing the history of a brick.
This method retrieves the brick UUID associated with the triggering sender, creates a history popup dialog, and displays it to the user.
- Parameters:
scan – The scan data to display in the history popup.
Note
The sender (typically a UI widget) must be registered in self.bricks to retrieve the corresponding brick UUID.
- sort_column(order)[source]¶
Sort the currently selected column.
- Parameters:
int) (order (Qt.SortOrder or) – Sort order to apply. - Qt.AscendingOrder (0): Sort from lowest to highest - Qt.DescendingOrder (1): Sort from highest to lowest
Note
Temporarily disconnects signals during sorting to prevent unwanted side effects, then reconnects them afterward.
- sort_updated(column, order)[source]¶
Update project state and apply sorting to the table.
Temporarily disconnects signals, updates the project’s sort configuration, applies the sort to table items, refreshes visual elements, and reconnects signals.
- Parameters:
column – The column index to sort by. Use -1 to indicate no sorting.
order – The sort order (Qt.AscendingOrder or Qt.DescendingOrder).
Note
This method is a no-op when column is -1, allowing safe calls with invalid column indices.
- update_colors()[source]¶
Update cell background colors based on data state and visibility.
- Colors indicate:
- White/Grey: Unmodified builtin tags (alternating for visible
rows)
Cyan/Blue: Modified builtin tags (alternating for visible rows)
- Pink/Red: User-defined tags or null values (alternating for
visible rows)
Note: This method assumes the itemChanged signal is disconnected. Automatically saves modifications if auto-save is enabled.
- update_selection()[source]¶
Update table selection based on current scan results.
Clears existing selection and selects cells corresponding to tags found in the current scan results. For each scan, selects the cells at the intersection of the scan’s row and its associated tag columns.
- update_table(take_tags_to_update=False)[source]¶
Refresh the table with current project data.
Completely resets and repopulates the table when switching projects. This involves clearing selections, fetching current scan documents, refilling headers and cells, resizing columns/rows, and updating the visual appearance.
- Parameters:
take_tags_to_update – If True, updates tags during the header fill operation. Defaults to False.
- Side Effects:
Clears current table selection
Resets scans_to_visualize and scans_to_search attributes
Clears selected scans list if selection is active
Disconnects and reconnects table signals
Modifies table dimensions and visual styling
- update_visualized_columns(old_tags, showed)[source]¶
Update column visibility based on tag selection changes.
Synchronizes the table’s visible columns with the provided tag list by:
Hiding columns for tags that are no longer displayed
Showing columns for newly displayed tags
Updating advanced search dropdowns if the search panel is open
Refreshing column sizing and colors
- Parameters:
(list) (showed) – Previously visualized tags.
(list) – Tags to currently display in the table.
- update_visualized_rows(old_scans)[source]¶
Update table row visibility based on current scan visualization state.
Temporarily disconnects selection signals, hides rows for scans no longer in the visualization list, shows rows for newly visualized scans, and updates the table appearance.
- Parameters:
old_scans – Collection of scans from the previous state, used to determine which rows need to be hidden.
- class populse_mia.user_interface.data_browser.data_browser.TimeFormatDelegate(parent=None)[source]¶
Bases:
QItemDelegateDelegate for handling time data display and editing in table views.
This delegate creates a QTimeEdit widget with millisecond precision (hh:mm:ss.zzz format) for editing time values in a TableDataBrowser.
- __init__(parent=None)[source]¶
Initialize the time format delegate.
- Parameters:
parent – Parent QWidget, if any. Defaults to None.
- createEditor(parent, option, index)[source]¶
Create and configure the editor widget for time values.
- Parameters:
parent – Parent widget for the editor.
option – Style options for the item (unused, required by Qt API).
index – Model index of the item being edited (unused, required by Qt API).
- Return (QTimeEdit):
Configured time editor widget with hh:mm:ss.zzz format.