QToolBar Class

Die QToolBar-Klasse bietet ein bewegliches Panel, das eine Reihe von Steuerelementen enthält. Mehr...

Kopfzeile: #include <QToolBar>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Vererbungen: QWidget

Eigenschaften

Öffentliche Funktionen

QToolBar(QWidget *parent = nullptr)
QToolBar(const QString &title, QWidget *parent = nullptr)
virtual ~QToolBar()
QAction *actionAt(const QPoint &p) const
QAction *actionAt(int x, int y) const
QAction *addSeparator()
QAction *addWidget(QWidget *widget)
Qt::ToolBarAreas allowedAreas() const
void clear()
QSize iconSize() const
QAction *insertSeparator(QAction *before)
QAction *insertWidget(QAction *before, QWidget *widget)
bool isAreaAllowed(Qt::ToolBarArea area) const
bool isFloatable() const
bool isFloating() const
bool isMovable() const
Qt::Orientation orientation() const
void setAllowedAreas(Qt::ToolBarAreas areas)
void setFloatable(bool floatable)
void setMovable(bool movable)
void setOrientation(Qt::Orientation orientation)
QAction *toggleViewAction() const
Qt::ToolButtonStyle toolButtonStyle() const
QWidget *widgetForAction(QAction *action) const

Öffentliche Slots

void setIconSize(const QSize &iconSize)
void setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle)

Signale

void actionTriggered(QAction *action)
void allowedAreasChanged(Qt::ToolBarAreas allowedAreas)
void iconSizeChanged(const QSize &iconSize)
void movableChanged(bool movable)
void orientationChanged(Qt::Orientation orientation)
void toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)
void topLevelChanged(bool topLevel)
void visibilityChanged(bool visible)

Reimplementierte geschützte Funktionen

virtual void actionEvent(QActionEvent *event) override
virtual void changeEvent(QEvent *event) override
virtual bool event(QEvent *event) override
virtual void paintEvent(QPaintEvent *event) override

Detaillierte Beschreibung

Eine Symbolleiste wird in der Regel durch den Aufruf von QMainWindow::addToolBar(const QString &title) erstellt, sie kann aber auch als erstes Widget in einem QVBoxLayout hinzugefügt werden.

Schaltflächen der Symbolleiste werden durch Hinzufügen von Aktionen mit addAction() oder insertAction() hinzugefügt. Gruppen von Schaltflächen können mit addSeparator() oder insertSeparator() getrennt werden. Wenn eine Schaltfläche für die Symbolleiste nicht geeignet ist, kann stattdessen ein Widget mit addWidget() oder insertWidget() eingefügt werden. Beispiele für geeignete Widgets sind QSpinBox, QDoubleSpinBox und QComboBox. Wenn eine Schaltfläche in der Symbolleiste gedrückt wird, sendet sie das Signal actionTriggered().

Eine Symbolleiste kann in einem bestimmten Bereich fixiert sein (z. B. am oberen Rand des Fensters), oder sie kann zwischen verschiedenen Symbolleistenbereichen verschoben werden; siehe setMovable(), isMovable(), allowedAreas() und isAreaAllowed().

Wenn die Größe einer Symbolleiste so geändert wird, dass sie zu klein ist, um alle darin enthaltenen Elemente anzuzeigen, erscheint eine Erweiterungsschaltfläche als letztes Element in der Symbolleiste. Durch Drücken der Erweiterungsschaltfläche wird ein Menü mit den Elementen angezeigt, die derzeit nicht in die Symbolleiste passen.

Wenn eine QToolBar kein Kind einer QMainWindow ist, verliert sie die Fähigkeit, das Erweiterungs-Popup mit Widgets zu füllen, die der Toolbar mit addWidget() hinzugefügt wurden. Bitte verwenden Sie stattdessen Widget-Aktionen, die durch Vererbung von QWidgetAction und Implementierung von QWidgetAction::createWidget() erstellt wurden.

Siehe auch QToolButton, QMenu, und QAction.

Dokumentation der Eigenschaft

allowedAreas : Qt::ToolBarAreas

Bereiche, in denen die Symbolleiste platziert werden kann

Der Standardwert ist Qt::AllToolBarAreas.

Diese Eigenschaft ist nur sinnvoll, wenn sich die Symbolleiste in einer QMainWindow befindet.

Zugriffsfunktionen:

Qt::ToolBarAreas allowedAreas() const
void setAllowedAreas(Qt::ToolBarAreas areas)

Benachrichtigungssignal:

void allowedAreasChanged(Qt::ToolBarAreas allowedAreas)

Siehe auch movable.

floatable : bool

Diese Eigenschaft legt fest, ob die Symbolleiste als eigenständiges Fenster gezogen und abgelegt werden kann.

Die Voreinstellung ist true.

Zugriffsfunktionen:

bool isFloatable() const
void setFloatable(bool floatable)

[read-only] floating : const bool

Diese Eigenschaft gibt an, ob die Symbolleiste ein unabhängiges Fenster ist.

Standardmäßig ist diese Eigenschaft true.

Zugriffsfunktionen:

bool isFloating() const

Siehe auch QWidget::isWindow().

iconSize : QSize

Größe von Symbolen in der Symbolleiste.

Die Standardgröße wird durch den Stil der Anwendung bestimmt und ist von der QStyle::PM_ToolBarIconSize Pixel-Metrik abgeleitet. Dies ist die maximale Größe, die ein Symbol haben kann. Symbole mit einer geringeren Größe werden nicht vergrößert.

Zugriffsfunktionen:

QSize iconSize() const
void setIconSize(const QSize &iconSize)

Benachrichtigungssignal:

void iconSizeChanged(const QSize &iconSize)

movable : bool

Diese Eigenschaft legt fest, ob der Benutzer die Symbolleiste innerhalb des Symbolleistenbereichs oder zwischen den Symbolleistenbereichen verschieben kann.

Standardmäßig ist diese Eigenschaft true.

Diese Eigenschaft ist nur sinnvoll, wenn sich die Symbolleiste in einer QMainWindow befindet.

Zugriffsfunktionen:

bool isMovable() const
void setMovable(bool movable)

Benachrichtigungssignal:

void movableChanged(bool movable)

Siehe auch allowedAreas.

orientation : Qt::Orientation

Ausrichtung der Symbolleiste

Die Standardeinstellung ist Qt::Horizontal.

Diese Funktion sollte nicht verwendet werden, wenn die Symbolleiste von QMainWindow verwaltet wird. Sie können QMainWindow::addToolBar() oder QMainWindow::insertToolBar() verwenden, wenn Sie eine Symbolleiste, die bereits zu einem Hauptfenster hinzugefügt wurde, in ein anderes Qt::ToolBarArea verschieben möchten.

Zugriffsfunktionen:

Qt::Orientation orientation() const
void setOrientation(Qt::Orientation orientation)

Benachrichtigungssignal:

void orientationChanged(Qt::Orientation orientation)

toolButtonStyle : Qt::ToolButtonStyle

Diese Eigenschaft enthält den Stil der Schaltflächen der Symbolleiste

Diese Eigenschaft definiert den Stil aller Symbolleistenschaltflächen, die als QActionhinzugefügt werden. Beachten Sie, dass eine QToolButton, die mit der Methode addWidget() hinzugefügt wird, diesen Schaltflächenstil nicht erhält.

Wenn Sie möchten, dass der Stil der Schaltflächen den Systemeinstellungen folgt, setzen Sie diese Eigenschaft auf Qt::ToolButtonFollowStyle. Unter Unix werden die Benutzereinstellungen der Desktop-Umgebung verwendet. Auf anderen Plattformen bedeutet Qt::ToolButtonFollowStyle nur das Symbol.

Die Standardeinstellung ist Qt::ToolButtonIconOnly.

Zugriffsfunktionen:

Qt::ToolButtonStyle toolButtonStyle() const
void setToolButtonStyle(Qt::ToolButtonStyle toolButtonStyle)

Benachrichtigungssignal:

void toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)

Member Function Dokumentation

[explicit] QToolBar::QToolBar(QWidget *parent = nullptr)

Konstruiert eine QToolBar mit der angegebenen parent.

[explicit] QToolBar::QToolBar(const QString &title, QWidget *parent = nullptr)

Konstruiert eine QToolBar mit dem angegebenen parent.

Das angegebene Fenster title identifiziert die Symbolleiste und wird im Kontextmenü angezeigt, das von QMainWindow bereitgestellt wird.

Siehe auch setWindowTitle().

[virtual noexcept] QToolBar::~QToolBar()

Zerstört die Symbolleiste.

QAction *QToolBar::actionAt(const QPoint &p) const

Gibt die Aktion an der Stelle p zurück. Diese Funktion gibt Null zurück, wenn keine Aktion gefunden wurde.

Siehe auch QWidget::childAt().

QAction *QToolBar::actionAt(int x, int y) const

Dies ist eine überladene Funktion.

Gibt die Aktion an der Stelle x, y zurück. Diese Funktion gibt Null zurück, wenn keine Aktion gefunden wurde.

[override virtual protected] void QToolBar::actionEvent(QActionEvent *event)

Reimplements: QWidget::actionEvent(QActionEvent *event).

[signal] void QToolBar::actionTriggered(QAction *action)

Dieses Signal wird ausgegeben, wenn eine Aktion in dieser Symbolleiste ausgelöst wird. Dies geschieht, wenn die Schaltfläche der Aktion gedrückt wird, oder wenn die Aktion auf andere Weise außerhalb der Symbolleiste ausgelöst wird. Der Parameter enthält die ausgelöste Aktion action.

QAction *QToolBar::addSeparator()

Fügt ein Trennzeichen am Ende der Symbolleiste ein.

Siehe auch insertSeparator().

QAction *QToolBar::addWidget(QWidget *widget)

Fügt der Symbolleiste das angegebene widget als letztes Element der Symbolleiste hinzu.

Die Symbolleiste übernimmt das Eigentum an widget.

Wenn Sie mit dieser Methode ein QToolButton hinzufügen, wird die Qt::ToolButtonStyle der Symbolleiste nicht berücksichtigt.

Hinweis: Sie sollten QAction::setVisible() verwenden, um die Sichtbarkeit des Widgets zu ändern. Die Verwendung von QWidget::setVisible(), QWidget::show() und QWidget::hide() funktioniert nicht.

Siehe auch insertWidget().

[signal] void QToolBar::allowedAreasChanged(Qt::ToolBarAreas allowedAreas)

Dieses Signal wird ausgegeben, wenn die Sammlung der zulässigen Bereiche für die Symbolleiste geändert wird. Die neuen Bereiche, in denen die Symbolleiste positioniert werden kann, werden durch allowedAreas festgelegt.

Hinweis: Benachrichtigungssignal für die Eigenschaft allowedAreas.

Siehe auch allowedAreas.

[override virtual protected] void QToolBar::changeEvent(QEvent *event)

Reimplements: QWidget::changeEvent(QEvent *Event).

void QToolBar::clear()

Entfernt alle Aktionen aus der Symbolleiste.

Siehe auch removeAction().

[override virtual protected] bool QToolBar::event(QEvent *event)

Reimplements: QWidget::event(QEvent *Event).

[signal] void QToolBar::iconSizeChanged(const QSize &iconSize)

Dieses Signal wird ausgegeben, wenn die Größe des Symbols geändert wird. Der Parameter iconSize enthält die neue Symbolgröße der Symbolleiste.

Hinweis: Benachrichtigungssignal für die Eigenschaft iconSize.

Siehe auch iconSize und QMainWindow::iconSize.

QAction *QToolBar::insertSeparator(QAction *before)

Fügt ein Trennzeichen in die Symbolleiste vor dem Symbolleistenelement ein, das mit der Aktion before verbunden ist.

Siehe auch addSeparator().

QAction *QToolBar::insertWidget(QAction *before, QWidget *widget)

Fügt das angegebene widget vor dem Element der Symbolleiste ein, das mit der Aktion before verknüpft ist.

Hinweis: Sie sollten QAction::setVisible() verwenden, um die Sichtbarkeit des Widgets zu ändern. Die Verwendung von QWidget::setVisible(), QWidget::show() und QWidget::hide() funktioniert nicht.

Siehe auch addWidget().

bool QToolBar::isAreaAllowed(Qt::ToolBarArea area) const

Gibt true zurück, wenn diese Symbolleiste in der angegebenen area andockbar ist; andernfalls wird false zurückgegeben.

[signal] void QToolBar::movableChanged(bool movable)

Dieses Signal wird ausgegeben, wenn die Symbolleiste verschoben oder fixiert wird. Wenn die Symbolleiste verschoben werden kann, ist movable wahr; andernfalls ist es falsch.

Hinweis: Benachrichtigungssignal für die Eigenschaft movable.

Siehe auch movable.

[signal] void QToolBar::orientationChanged(Qt::Orientation orientation)

Dieses Signal wird ausgegeben, wenn sich die Ausrichtung der Symbolleiste ändert. Der Parameter orientation enthält die neue Ausrichtung der Symbolleiste.

Hinweis: Benachrichtigungssignal für die Eigenschaft orientation.

Siehe auch orientation.

[override virtual protected] void QToolBar::paintEvent(QPaintEvent *event)

Reimplements: QWidget::paintEvent(QPaintEvent *event).

QAction *QToolBar::toggleViewAction() const

Gibt eine ankreuzbare Aktion zurück, mit der diese Symbolleiste ein- oder ausgeblendet werden kann.

Der Text der Aktion wird auf den Fenstertitel der Symbolleiste gesetzt.

Siehe auch QAction::text und QWidget::windowTitle.

[signal] void QToolBar::toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)

Dieses Signal wird ausgegeben, wenn der Stil der Werkzeugschaltflächen geändert wird. Der Parameter toolButtonStyle enthält den neuen Schaltflächenstil der Symbolleiste.

Hinweis: Benachrichtigungssignal für die Eigenschaft toolButtonStyle.

Siehe auch toolButtonStyle und QMainWindow::toolButtonStyle.

[signal] void QToolBar::topLevelChanged(bool topLevel)

Dieses Signal wird ausgesendet, wenn sich die Eigenschaft floating ändert. Der Parameter topLevel ist true, wenn die Symbolleiste jetzt frei beweglich ist; andernfalls ist er false.

Siehe auch isWindow().

[signal] void QToolBar::visibilityChanged(bool visible)

Dieses Signal wird ausgesendet, wenn die Symbolleiste visible (oder unsichtbar) wird. Dies geschieht, wenn das Widget aus- oder eingeblendet wird.

QWidget *QToolBar::widgetForAction(QAction *action) const

Gibt das Widget zurück, das mit dem angegebenen action verbunden ist.

Siehe auch addWidget().

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.