Class: QgsMessageBar¶
- class qgis.gui.QgsMessageBar¶
Bases:
PyQt5.QtWidgets.QFrame
A bar for displaying non-blocking messages to the user.
QgsMessageBar
is a reusable widget which allows for providing feedback to users in a non-intrusive way. Messages are shown in a horizontal bar widget, which is styled automatically to reflect the severity (“message level”) of the displayed message (e.g. warning messages are styled in an orange color scheme, critical errors are shown in red, etc).The message bar supports automatic stacking of multiple messages, so that only the most recent message is shown to users. Users can then manually dismiss individual messages to remove them from the stack, causing the next-most-recent message to be shown. If no messages are available to show then the message bar automatically hides.
The class also supports pushing custom widgets to the notification stack via the
pushWidget()
method.QgsMessageBar(parent: QWidget = None) Constructor for QgsMessageBar
Methods
Removes all items from the bar.
Creates message bar item widget containing a message
text
to be displayed on the bar.Returns the current visible item, or
None
if no item is shown.Returns the default timeout in seconds for timed messages of the specified
level
.Returns a list of all items currently visible or queued for the bar.
- param e:
Remove the specified
item
from the bar, and display the next most recent one in the stack.Pushes a critical warning
message
that must be manually dismissed by the user.Pushes a information
message
with default timeout to the message bar.Display a message
item
on the bar, after hiding the currently visible one and putting it in a stack.A convenience method for pushing a message with the specified
text
to the bar.Pushes a success
message
with default timeout to the message bar.Pushes a warning
message
that must be manually dismissed by the user.Display a
widget
as a message on the bar, after hiding the currently visible one and putting it in a stack.Signals
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
pyqtSignal(*types, name: str = ..., revision: int = ..., arguments: Sequence = ...) -> PYQT_SIGNAL
- actionEvent(self, QActionEvent)¶
- changeEvent(self, QEvent)¶
- childEvent(self, QChildEvent)¶
- clearWidgets(self) bool ¶
Removes all items from the bar.
- Return type:
bool
- Returns:
True
if all items were removed,False
otherwise
- closeEvent(self, QCloseEvent)¶
- connectNotify(self, QMetaMethod)¶
- contextMenuEvent(self, QContextMenuEvent)¶
- create(self, window: PyQt5.sip.voidptr = 0, initializeWindow: bool = True, destroyOldWindow: bool = True)¶
- createMessage(text: str, parent: QWidget = None) QgsMessageBarItem ¶
Creates message bar item widget containing a message
text
to be displayed on the bar.The caller takes ownership of the returned item.
Note
This is a low-level API call. Users are recommended to use the high-level
pushMessage()
API call instead.createMessage(title: str, text: str, parent: QWidget = None) -> QgsMessageBarItem Creates message bar item widget containing a
title
and messagetext
to be displayed on the bar.The caller takes ownership of the returned item.
Note
This is a low-level API call. Users are recommended to use the high-level
pushMessage()
API call instead.createMessage(widget: QWidget, parent: QWidget = None) -> QgsMessageBarItem Creates message bar item widget containing a custom
widget
to be displayed on the bar.The caller takes ownership of the returned item.
Note
This is a low-level API call. Users are recommended to use the high-level
pushWidget()
API call instead.- Parameters:
text (str)
parent (QWidget = None)
- Return type:
- currentItem(self) QgsMessageBarItem ¶
Returns the current visible item, or
None
if no item is shown.- Return type:
- customEvent(self, QEvent)¶
- defaultMessageTimeout(level: Qgis.MessageLevel = Qgis.MessageLevel.NoLevel) int ¶
Returns the default timeout in seconds for timed messages of the specified
level
.Added in version 3.18.
- Parameters:
level (Qgis.MessageLevel = Qgis.MessageLevel.NoLevel)
- Return type:
int
- destroy(self, destroyWindow: bool = True, destroySubWindows: bool = True)¶
- disconnectNotify(self, QMetaMethod)¶
- dragEnterEvent(self, QDragEnterEvent)¶
- dragLeaveEvent(self, QDragLeaveEvent)¶
- dragMoveEvent(self, QDragMoveEvent)¶
- drawFrame(self, QPainter)¶
- dropEvent(self, QDropEvent)¶
- enterEvent(self, QEvent)¶
- event(self, QEvent) bool ¶
- focusInEvent(self, QFocusEvent)¶
- focusNextChild(self) bool ¶
- focusNextPrevChild(self, bool) bool ¶
- focusOutEvent(self, QFocusEvent)¶
- focusPreviousChild(self) bool ¶
- hideEvent(self, QHideEvent)¶
- initPainter(self, QPainter)¶
- initStyleOption(self, QStyleOptionFrame)¶
- inputMethodEvent(self, QInputMethodEvent)¶
- isSignalConnected(self, QMetaMethod) bool ¶
- items(self) List[QgsMessageBarItem] ¶
Returns a list of all items currently visible or queued for the bar.
Added in version 3.14.
- Return type:
List[QgsMessageBarItem]
- keyPressEvent(self, QKeyEvent)¶
- keyReleaseEvent(self, QKeyEvent)¶
- leaveEvent(self, QEvent)¶
- metric(self, QPaintDevice.PaintDeviceMetric) int ¶
- mouseDoubleClickEvent(self, QMouseEvent)¶
- mouseMoveEvent(self, QMouseEvent)¶
- mousePressEvent(self, e: QMouseEvent)¶
- Parameters:
e (QMouseEvent)
- mouseReleaseEvent(self, QMouseEvent)¶
- moveEvent(self, QMoveEvent)¶
- nativeEvent(self, Union[QByteArray, bytes, bytearray], PyQt5.sip.voidptr) Tuple[bool, int] ¶
- paintEvent(self, QPaintEvent)¶
- popWidget(self, item: QgsMessageBarItem) bool ¶
Remove the specified
item
from the bar, and display the next most recent one in the stack. If no messages remain in the stack, then the bar will be hidden.- Parameters:
item (QgsMessageBarItem) – previously added item to remove.
- Returns:
True
ifitem
was removed,False
otherwise
popWidget(self) -> bool Remove the currently displayed item from the bar and display the next item in the stack. If no remaining items are present, the bar will be hidden.
- Return type:
bool
- Returns:
True
if the widget was removed,False
otherwise
- pushCritical(self, title: str, message: str)¶
Pushes a critical warning
message
that must be manually dismissed by the user. Before QGIS 3.18 the default timeout was used.- Parameters:
title (str) – title string for message
message (str) – The message to be displayed
- pushInfo(self, title: str, message: str)¶
Pushes a information
message
with default timeout to the message bar.- Parameters:
title (str) – title string for message
message (str) – The message to be displayed
- pushItem(self, item: QgsMessageBarItem)¶
Display a message
item
on the bar, after hiding the currently visible one and putting it in a stack.The message bar will take ownership of
item
.- Parameters:
item (QgsMessageBarItem)
- pushMessage(self, text: str, level: Qgis.MessageLevel = Qgis.MessageLevel.Info, duration: int = -1)¶
A convenience method for pushing a message with the specified
text
to the bar.The
level
argument specifies the desired message level (severity) of the message, which controls how the message bar is styled.The optional
duration
argument can be used to specify the message timeout in seconds. Ifduration
is set to 0, then the message must be manually dismissed by the user. Since QGIS 3.18, a duration of -1 indicates that the default timeout for the messagelevel
should be used.pushMessage(self, title: str, text: str, level: Qgis.MessageLevel = Qgis.MessageLevel.Info, duration: int = -1) A convenience method for pushing a message with the specified
title
andtext
to the bar.The
level
argument specifies the desired message level (severity) of the message, which controls how the message bar is styled.The optional
duration
argument can be used to specify the message timeout in seconds. Ifduration
is set to 0, then the message must be manually dismissed by the user. Since QGIS 3.18, a duration of -1 indicates that the default timeout for the messagelevel
should be used.pushMessage(self, title: str, text: str, showMore: str, level: Qgis.MessageLevel = Qgis.MessageLevel.Info, duration: int = -1) A convenience method for pushing a message with the specified
title
andtext
to the bar. Additional message content specified viashowMore
will be shown when the user presses a “more” button.The
level
argument specifies the desired message level (severity) of the message, which controls how the message bar is styled.The optional
duration
argument can be used to specify the message timeout in seconds. Ifduration
is set to 0, then the message must be manually dismissed by the user. Since QGIS 3.18, a duration of -1 indicates that the default timeout for the messagelevel
should be used.- Parameters:
text (str)
level (Qgis.MessageLevel = Qgis.MessageLevel.Info)
duration (int = -1)
- pushSuccess(self, title: str, message: str)¶
Pushes a success
message
with default timeout to the message bar.- Parameters:
title (str) – title string for message
message (str) – The message to be displayed
- pushWarning(self, title: str, message: str)¶
Pushes a warning
message
that must be manually dismissed by the user. Before QGIS 3.18 the default timeout was used.- Parameters:
title (str) – title string for message
message (str) – The message to be displayed
- pushWidget(self, widget: QWidget, level: Qgis.MessageLevel = Qgis.MessageLevel.Info, duration: int = 0) QgsMessageBarItem ¶
Display a
widget
as a message on the bar, after hiding the currently visible one and putting it in a stack.- Parameters:
widget (QWidget) – message widget to display
level (Qgis.MessageLevel = Qgis.MessageLevel.Info) – is
Qgis
.MessageLevel.Info, Warning, Critical or Successduration (int = 0) – timeout duration of message in seconds, 0 value indicates no timeout (i.e. the message must be manually cleared by the user).
- Return type:
- receivers(self, PYQT_SIGNAL) int ¶
- resizeEvent(self, QResizeEvent)¶
- sender(self) QObject ¶
- senderSignalIndex(self) int ¶
- showEvent(self, QShowEvent)¶
- tabletEvent(self, QTabletEvent)¶
- timerEvent(self, QTimerEvent)¶
- updateMicroFocus(self)¶
- wheelEvent(self, QWheelEvent)¶
- widgetAdded¶
pyqtSignal(*types, name: str = …, revision: 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.
- Parameters:
name (str = ...)
revision (int = ...)
arguments (Sequence = ...)
- Return type:
PYQT_SIGNAL
- widgetRemoved¶
pyqtSignal(*types, name: str = …, revision: 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.
- Parameters:
name (str = ...)
revision (int = ...)
arguments (Sequence = ...)
- Return type:
PYQT_SIGNAL