このページでは

QToolBar Class

QToolBar クラスは、一連のコントロールを含む移動可能なパネルを提供します。詳細...

ヘッダー: #include <QToolBar>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
継承元: QWidget

プロパティ

パブリック関数

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

パブリック・スロット

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

シグナル

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)

再実装された保護関数

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

詳細な説明

ツールバーは通常、QMainWindow::addToolBar(const QString &title) を呼び出すことで作成されますが、たとえば、QVBoxLayout の最初のウィジェットとして追加することもできます。

ツールバーのボタンは、addAction() またはinsertAction() を使用してアクションを追加することで追加されます。 ボタンのグループは、addSeparator() またはinsertSeparator() を使用して区切ることができます。ツールバーボタンが適切でない場合は、addWidget() またはinsertWidget() を使用して、代わりにウィジェットを挿入することができます。適切なウィジェットの例としては、QSpinBox 、QDoubleSpinBox 、およびQComboBox などがあります。ツールバーボタンが押されると、actionTriggered() シグナルが発信されます。

ツールバーは、特定の領域(例えば、ウィンドウの上部)に固定することも、ツールバー領域間で移動させることもできます。詳細は、setMovable()、isMovable()、allowedAreas() およびisAreaAllowed() を参照してください。

ツールバーのサイズ変更により、その中に含まれるすべての項目を表示するには小さくなりすぎた場合、ツールバーの最後の項目として拡張ボタンが表示されます。この拡張ボタンを押すと、現在ツールバーに収まりきらない項目を含むメニューがポップアップ表示されます。

QToolBarがQMainWindow の子ではない場合、addWidget()を使用してツールバーに追加されたウィジェットを拡張ポップアップに表示する機能は失われます。その代わりに、QWidgetAction を継承し、QWidgetAction::createWidget()を実装して作成されたウィジェットアクションを使用してください。

QToolButton 、QMenu 、およびQActionも参照してください 。

プロパティのドキュメント

allowedAreas : Qt::ToolBarAreas

ツールバーを配置できる場所

デフォルトは `Qt::AllToolBarAreas` です。

このプロパティは、ツールバーがQMainWindow 内にある場合にのみ意味を持ちます。

アクセス関数:

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

通知シグナル:

void allowedAreasChanged(Qt::ToolBarAreas allowedAreas)

「movable」も参照してください 。

floatable : bool

このプロパティは、ツールバーを独立したウィンドウとしてドラッグ&ドロップできるかどうかを指定します。

デフォルト値は true です。

アクセス関数:

bool isFloatable() const
void setFloatable(bool floatable)

[read-only] floating : bool

このプロパティは、ツールバーが独立したウィンドウであるかどうかを示します。

デフォルトでは、このプロパティの値はtrue です。

アクセス関数:

bool isFloating() const

関連項目: QWidget::isWindow()。

iconSize : QSize

ツールバー内のアイコンのサイズ。

デフォルトのサイズはアプリケーションのスタイルによって決定され、QStyle::PM_ToolBarIconSize ピクセル単位のメトリックに基づいています。これはアイコンが持つことのできる最大サイズです。これより小さいサイズのアイコンは拡大表示されません。

アクセス関数:

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

Notifierシグナル:

void iconSizeChanged(const QSize &iconSize)

movable : bool

このプロパティは、ユーザーがツールバー領域内、またはツールバー領域間でツールバーを移動できるかどうかを指定します。

デフォルト値はスタイルに依存し(QStyle::SH_ToolBar_Movable スタイルヒントによって決定されます)、ほとんどのスタイルではtrue となります。

このプロパティは、ツールバーがQMainWindow 内にある場合にのみ意味を持ちます。

アクセス関数:

bool isMovable() const
void setMovable(bool movable)

Notifierシグナル:

void movableChanged(bool movable)

「allowedAreas」も参照してください 。

orientation : Qt::Orientation

ツールバーの配置

デフォルトはQt::Horizontal です。

この関数は、ツールバーがQMainWindow によって管理されている場合には使用しないでください。メインウィンドウにすでに追加されているツールバーを別のQt::ToolBarArea に移動したい場合は、QMainWindow::addToolBar()またはQMainWindow::insertToolBar()を使用できます。

アクセス関数:

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

Notifierシグナル:

void orientationChanged(Qt::Orientation orientation)

toolButtonStyle : Qt::ToolButtonStyle

このプロパティは、ツールバーボタンのスタイルを保持します

このプロパティは、QActionとして追加されたすべてのツールボタンのスタイルを定義します。なお、addWidget()メソッドを使用してQToolButton を追加した場合、このボタンのスタイルは適用されませんのでご注意ください。

ツールボタンのスタイルをシステム設定に従わせるには、このプロパティをQt::ToolButtonFollowStyle に設定します。Unixでは、デスクトップ環境のユーザー設定が使用されます。その他のプラットフォームでは、Qt::ToolButtonFollowStyle はアイコンのみを意味します。

デフォルトは `Qt::ToolButtonIconOnly` です。

アクセス関数:

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

Notifierシグナル:

void toolButtonStyleChanged(Qt::ToolButtonStyle toolButtonStyle)

メンバ関数のドキュメント

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

指定されたparent を使用して、QToolBarを構築します。

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

指定されたparent を使用してQToolBarを構築します。

指定されたウィンドウtitle はツールバーを識別するものであり、QMainWindow によって提供されるコンテキストメニューに表示されます。

setWindowTitle()も参照してください 。

[virtual noexcept] QToolBar::~QToolBar()

ツールバーを削除します。

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

p のポイントにあるアクションを返します。アクションが見つからなかった場合、この関数は 0 を返します。

QWidget::childAt()も参照してください 。

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

x 、y におけるアクションを返します。アクションが見つからなかった場合、この関数は 0 を返します。

これはオーバーロードされた関数です。

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

QWidget::actionEvent(QActionEvent *event) を再実装します。

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

このシグナルは、このツールバー内のアクションがトリガーされたときに発火します。これは、アクションのツールボタンが押されたとき、またはツールバーの外で何らかの方法でアクションがトリガーされたときに発生します。このパラメータには、トリガーされたaction が格納されます。

QAction *QToolBar::addSeparator()

ツールバーの末尾に区切り線を追加します。

insertSeparator()も参照してください 。

QAction *QToolBar::addWidget(QWidget *widget)

指定されたwidget を、ツールバーの最後の項目としてツールバーに追加します。

ツールバーは `widget` の所有権を取得します。

このメソッドでQToolButton を追加した場合、ツールバーのQt::ToolButtonStyle は反映されません。

注: ウィジェットの表示/非表示を切り替えるには、QAction::setVisible()を使用してください 。QWidget::setVisible()、QWidget::show()、QWidget::hide() を使用しても機能しません。

insertWidget()も参照してください 。

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

このシグナルは、ツールバーの配置可能領域の集合が変更されたときに発火します。ツールバーを配置できる新しい領域は、allowedAreas で指定されます。

注: プロパティ `allowedAreas` に対する通知 シグナルです。

「allowedAreas」も参照してください 。

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

QWidget::changeEvent(QEvent *event) を再実装します。

void QToolBar::clear()

ツールバーからすべてのアクションを削除します。

removeAction()も参照してください 。

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

QWidget::event(QEvent *event) を再実装します。

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

このシグナルは、アイコンのサイズが変更されたときに発火します。iconSize パラメータには、ツールバーの新しいアイコンサイズが格納されます。

注: プロパティ `iconSize` に対する通知 シグナルです。

関連項目: iconSize およびQMainWindow::iconSize 。

QAction *QToolBar::insertSeparator(QAction *before)

「before 」アクションに関連付けられたツールバー項目の前に、区切り記号をツールバーに挿入します。

「addSeparator()」も参照してください 。

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

指定されたwidget を、before アクションに関連付けられたツールバー項目の先頭に挿入します。

注:ウィジェットの表示/非表示を切り替えるには、QAction::setVisible() を使用してください。QWidget::setVisible()、QWidget::show()、およびQWidget::hide() を使用しても機能しません。

「addWidget()」も参照してください 。

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

このツールバーが、指定されたarea 内でドッキング可能であればtrue を返し、そうでない場合はfalse を返します。

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

このシグナルは、ツールバーが移動可能または固定状態になったときに発火します。ツールバーが移動可能な場合、movable は true となり、そうでない場合は false となります。

注: プロパティ `movable` に対する通知 シグナルです。

「movable」も参照してください 。

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

このシグナルは、ツールバーの向きが変更されたときに発火します。orientation パラメータには、ツールバーの新しい向きが格納されます。

注: プロパティ `orientation` に対する通知 シグナルです。

「orientation」も参照してください 。

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

QWidget::paintEvent (QPaintEvent *event)を再実装します。

QAction *QToolBar::toggleViewAction() const

このツールバーを表示または非表示にするために使用できる、チェック可能なアクションを返します。

このアクションのテキストには、ツールバーのウィンドウタイトルが設定されます。

QAction::text およびQWidget::windowTitleも参照してください 。

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

このシグナルは、ツールボタンのスタイルが変更されたときに発生します。toolButtonStyle パラメータには、ツールバーの新しいツールボタンのスタイルが格納されます。

注: プロパティ `toolButtonStyle`の通知 シグナルです。

関連項目: ` toolButtonStyle ` および `QMainWindow::toolButtonStyle`。

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

このシグナルは、floating プロパティが変更されたときに発火します。topLevel パラメータは、ツールバーが現在フローティング状態の場合はtrue、そうでない場合はfalseとなります。

isWindow()も参照してください 。

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

このシグナルは、ツールバーがvisible (非表示)になったときに発火します。これは、ウィジェットが非表示になったり表示されたりしたときに発生します。

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

指定されたaction に関連付けられたウィジェットを返します。

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.