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
Emitted whenever an
item
is added to the bar.Emitted whenever an
item
was removed from the bar.- 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: 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
.New 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.
New 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], 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
New in version 2.8.
- 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
New in version 2.8.
- 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
New in version 2.8.
- 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
New in version 2.8.
- 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 Success
duration (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¶
Emitted whenever an
item
is added to the bar. [signal]- Parameters
item (QgsMessageBarItem) –
- widgetRemoved¶
Emitted whenever an
item
was removed from the bar. [signal]- Parameters
item (QgsMessageBarItem) –