Auf dieser Seite

QToolBar Class

Die Klasse „QToolBar“ stellt ein verschiebbares Bedienfeld bereit, das eine Reihe von Steuerelementen enthält. Mehr...

Header: #include <QToolBar>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Erbt von: 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)

Neu implementierte 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

Ausführliche Beschreibung

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

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

Eine Symbolleiste kann an einer bestimmten Stelle (z. B. am oberen Rand des Fensters) fixiert werden oder zwischen Symbolleistenbereichen verschoben werden; siehe setMovable(), isMovable(), allowedAreas() und isAreaAllowed().

Wenn eine Symbolleiste so in der Größe angepasst 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ü eingeblendet, das die Elemente enthält, die derzeit nicht in die Symbolleiste passen.

Wenn eine `QToolBar` kein Kind eines ` QMainWindow` ist, verliert sie die Fähigkeit, das Erweiterungs-Popup mit Widgets zu füllen, die der Symbolleiste mithilfe von ` 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 zu Eigenschaften

allowedAreas : Qt::ToolBarAreas

Bereiche, in denen die Symbolleiste platziert werden kann

Die Standardeinstellung ist „ Qt::AllToolBarAreas “.

Diese Eigenschaft ist nur dann sinnvoll, wenn sich die Symbolleiste in einem „ 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 per Drag & Drop verschoben werden kann.

Der Standardwert ist „true“.

Zugriffsfunktionen:

bool isFloatable() const
void setFloatable(bool floatable)

[read-only] floating : bool

Diese Eigenschaft gibt an, ob die Symbolleiste ein eigenständiges Fenster ist.

Standardmäßig ist diese Eigenschaft auf „ true “ gesetzt.

Zugriffsfunktionen:

bool isFloating() const

Siehe auch „ QWidget::isWindow()“.

iconSize : QSize

Größe der Symbole in der Symbolleiste.

Die Standardgröße wird durch den Stil der Anwendung bestimmt und leitet sich aus der Pixelmetrik „ QStyle::PM_ToolBarIconSize “ ab. Dies ist die maximale Größe, die ein Symbol haben kann. Kleinere Symbole werden nicht vergrößert.

Zugriffsfunktionen:

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

Notifier-Signal:

void iconSizeChanged(const QSize &iconSize)

movable : bool

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

Der Standardwert ist stilabhängig (wird durch den Stilhinweis „ QStyle::SH_ToolBar_Movable “ festgelegt) und lautet bei den meisten Stilen „ true “.

Diese Eigenschaft ist nur dann von Bedeutung, wenn sich die Symbolleiste in einem „ QMainWindow “ befindet.

Zugriffsfunktionen:

bool isMovable() const
void setMovable(bool movable)

Notifier-Signal:

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 über ` 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 eine andere verschieben möchten: ` Qt::ToolBarArea`.

Zugriffsfunktionen:

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

Notifier-Signal:

void orientationChanged(Qt::Orientation orientation)

toolButtonStyle : Qt::ToolButtonStyle

Diese Eigenschaft legt den Stil der Schaltflächen in der Symbolleiste fest

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

Damit der Stil der Werkzeugschaltflächen den Systemeinstellungen entspricht, setzen Sie diese Eigenschaft auf „ Qt::ToolButtonFollowStyle “. Unter Unix werden die Benutzereinstellungen der Desktop-Umgebung verwendet. Auf anderen Plattformen bedeutet „ Qt::ToolButtonFollowStyle “, dass nur ein Symbol angezeigt wird.

Die Standardeinstellung ist „ Qt::ToolButtonIconOnly “.

Zugriffsfunktionen:

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

Notifier-Signal:

void toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)

Dokumentation der Mitgliedsfunktionen

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

Erstellt eine QToolBar mit der angegebenen „ parent “.

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

Erstellt eine QToolBar mit der angegebenen parent.

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

Siehe auch ` setWindowTitle()` .

[virtual noexcept] QToolBar::~QToolBar()

Blendet die Symbolleiste aus.

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

Gibt die Aktion am Punkt 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

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

Dies ist eine überladene Funktion.

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

Implementiert: ` QWidget::actionEvent(QActionEvent *event)`.

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

Dieses Signal wird ausgelöst, wenn eine Aktion in dieser Symbolleiste aktiviert 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 das ausgelöste „ action “.

QAction *QToolBar::addSeparator()

Fügt am Ende der Symbolleiste ein Trennzeichen ein.

Siehe auch „ insertSeparator()“.

QAction *QToolBar::addWidget(QWidget *widget)

Fügt die angegebene „ widget “ als letztes Element zur Symbolleiste hinzu.

Die Symbolleiste übernimmt die Eigentümerschaft an „ widget “.

Wenn Sie ein „ QToolButton “ mit dieser Methode hinzufügen, wird die Eigenschaft „ 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 ausgelöst, wenn sich die Menge der zulässigen Bereiche für die Symbolleiste ändert. Die neuen Bereiche, in denen die Symbolleiste positioniert werden kann, werden durch allowedAreas festgelegt.

Hinweis: Notifier -Signal für die Eigenschaft „ allowedAreas “.

Siehe auch „ allowedAreas “.

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

Umsetzt: ` QWidget::changeEvent(QEvent *event)`.

void QToolBar::clear()

Entfernt alle Aktionen aus der Symbolleiste.

Siehe auch „ removeAction“ ().

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

Umsetzt: ` QWidget::event(QEvent *event)`.

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

Dieses Signal wird ausgelöst, wenn die Symbolgröße geändert wird. Der Parameter „ iconSize “ enthält die neue Symbolgröße der Symbolleiste.

Hinweis: Notifier -Signal 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 der Aktion „ before “ zugeordnet ist.

Siehe auch „ addSeparator“ ().

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

Fügt das angegebene widget vor dem Symbolleistenelement ein, das der Aktion „ before “ zugeordnet 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 ausgelöst, wenn die Symbolleiste verschiebbar oder feststehend wird. Wenn die Symbolleiste verschoben werden kann, ist „ movable “ wahr; andernfalls ist es falsch.

Hinweis: Notifier -Signal für die Eigenschaft „ movable “.

Siehe auch „ movable “.

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

Dieses Signal wird ausgelöst, wenn sich die Ausrichtung der Symbolleiste ändert. Der Parameter „ orientation “ enthält die neue Ausrichtung der Symbolleiste.

Hinweis: Notifier -Signal für die Eigenschaft „ orientation “.

Siehe auch „ orientation “.

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

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

QAction *QToolBar::toggleViewAction() const

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

Der Text der Aktion entspricht dem Fenstertitel der Symbolleiste.

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

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

Dieses Signal wird ausgelöst, wenn der Stil der Werkzeugschaltfläche geändert wird. Der Parameter „ toolButtonStyle “ enthält den neuen Stil der Werkzeugschaltfläche der Symbolleiste.

Hinweis: Notifier -Signal für die Eigenschaft „ toolButtonStyle “.

Siehe auch „ toolButtonStyle “ und „ QMainWindow::toolButtonStyle “.

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

Dieses Signal wird ausgelöst, wenn sich die Eigenschaft „ floating “ ändert. Der Parameter „ topLevel “ ist „true“, wenn die Symbolleiste nun frei positionierbar ist; andernfalls ist er „false“.

Siehe auch ` isWindow()`.

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

Dieses Signal wird ausgelöst, wenn die Symbolleiste den Status „ visible “ (oder unsichtbar) annimmt. Dies geschieht, wenn das Widget ausgeblendet oder eingeblendet wird.

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

Gibt das Widget zurück, das dem angegebenen ` action` zugeordnet ist.

Siehe auch addWidget().

© 2026 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.