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.