QToolButton Class

QToolButtonクラスは、コマンドやオプションへのクイックアクセスボタンを提供し、通常はQToolBar... 続きを読む

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

パブリックな型

enum ToolButtonPopupMode { DelayedPopup, MenuButtonPopup, InstantPopup }

プロパティ

パブリック関数

QToolButton(QWidget *parent = nullptr)
virtual ~QToolButton()
Qt::ArrowType arrowType() const
bool autoRaise() const
QAction *defaultAction() const
QMenu *menu() const
QToolButton::ToolButtonPopupMode popupMode() const
void setArrowType(Qt::ArrowType type)
void setAutoRaise(bool enable)
void setMenu(QMenu *menu)
void setPopupMode(QToolButton::ToolButtonPopupMode mode)
Qt::ToolButtonStyle toolButtonStyle() const

再実装パブリック関数

virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override

パブリック・スロット

void setDefaultAction(QAction *action)
void setToolButtonStyle(Qt::ToolButtonStyle style)
void showMenu()

シグナル

void triggered(QAction *action)

保護された関数

virtual void initStyleOption(QStyleOptionToolButton *option) const

再実装された保護された関数

virtual void actionEvent(QActionEvent *event) override
virtual void changeEvent(QEvent *e) override
virtual void checkStateSet() override
virtual void enterEvent(QEnterEvent *e) override
virtual bool event(QEvent *event) override
virtual bool hitButton(const QPoint &pos) const override
virtual void leaveEvent(QEvent *e) override
virtual void mousePressEvent(QMouseEvent *e) override
virtual void mouseReleaseEvent(QMouseEvent *e) override
virtual void nextCheckState() override
virtual void paintEvent(QPaintEvent *event) override
virtual void timerEvent(QTimerEvent *e) override

詳細説明

ツールボタンは、特定のコマンドやオプションに素早くアクセスできる特別なボタンです。通常のコマンドボタンとは対照的に、ツールボタンは通常テキストラベルを表示せず、代わりにアイコンを表示する。

ツールボタンは通常、QToolBar::addAction ()で新しいQAction インスタンスを作成するとき、またはQToolBar::addAction ()で既存のアクションをツールバーに追加するときに作成されます。また、他のウィジェットと同じようにツールボタンを作成し、レイアウトで他のウィジェットと一緒に配置することも可能です。

ツール・ボタンの古典的な使い方の1つは、ツールを選択することです。例えば、ドローイング・プログラムの「ペン」ツールなどです。これは、QToolButtonをトグル・ボタンとして使用することで実装されます(setCheckable() を参照)。

QToolButtonは自動レイズをサポートします。自動立ち上げモードでは、ボタンはマウスがそれをポイントしたときだけ3Dフレームを描画します。この機能は、ボタンがQToolBar 内で使用されると自動的にオンになります。setAutoRaise() で変更してください。

ツールボタンのアイコンはQIcon に設定されます。これにより、無効な状態とアクティブな状態で異なるピクセルマップを指定することができます。無効状態のピクセルマップは、ボタンの機能が使用できないときに使用されます。アクティブピクスマップは、マウスポインタがボタンの上にあるためにボタンが自動で持ち上げられたときに表示されます。

ボタンの外観と寸法はsetToolButtonStyle() とsetIconSize() で調整できます。QMainWindowQToolBar 内で使用すると、ボタンは自動的にQMainWindow の設定に調整されます(QMainWindow::setToolButtonStyle() とQMainWindow::setIconSize() を参照)。アイコンの代わりに、arrowType で指定された矢印記号を表示することもできます。

ツール・ボタンは、ポップアップ・メニューで追加の選択肢を提供できます。ポップアップ・メニューはsetMenu() を使用して設定できます。setPopupMode() を使用して、メニューが設定されたツール・ボタンで使用可能なさまざまなモードを設定します。デフォルトのモードは DelayedPopupMode で、これは Web ブラウザの「戻る」ボタンで使用されることがあります。ボタンをしばらく押し続けると、メニューがポップアップし、ジャンプ可能なページのリストが表示されます。タイムアウトはスタイルに依存します。QStyle::SH_ToolButton_PopupDelay を参照してください。

Qt Assistantツールバーのツールボタン
Qt Assistant'sツールバーには、メインウィンドウの他の部分で使用されるアクションに関連するツールボタンが含まれています。

QPushButtonQToolBarQMainWindowQActionも参照のこと

メンバー型ドキュメント

enum QToolButton::ToolButtonPopupMode

メニューが設定されているか、アクションのリストを含んでいるツールボタンのために、メニューがどのようにポップアップされるべきかを記述します。

定数説明
QToolButton::DelayedPopup0ツールボタンを一定時間押し続けた後(タイムアウトはスタイルに依存します。QStyle::SH_ToolButton_PopupDelay を参照してください)、メニューが表示されます。典型的な応用例は、いくつかのウェブブラウザのツールバーの「戻る」ボタンです。ユーザーがこれをクリックすると、ブラウザは単に前のページに戻ります。しばらくボタンを押し続けると、ツールボタンは現在の履歴リストを含むメニューを表示する。
QToolButton::MenuButtonPopup1このモードでは、ツールボタンはメニューがあることを示す特別な矢印を表示します。メニューは、ボタンの矢印部分が押されたときに表示される。
QToolButton::InstantPopup2メニューは、ツールボタンが押されると、遅滞なく表示される。このモードでは、ボタン自身のアクションはトリガーされません。

プロパティの説明

arrowType : Qt::ArrowType

このプロパティは、ボタンが通常のアイコンの代わりに矢印を表示するかどうかを保持します。

これはQToolButton のアイコンとして矢印を表示する。

デフォルトでは、このプロパティはQt::NoArrow に設定されています。

アクセス関数:

Qt::ArrowType arrowType() const
void setArrowType(Qt::ArrowType type)

autoRaise : bool

このプロパティは、自動レイズが有効かどうかを保持する。

デフォルトは無効(つまりfalse)です。

このプロパティは現在、QMacStyleを使用するmacOSでは無視されます。

アクセス関数:

bool autoRaise() const
void setAutoRaise(bool enable)

popupMode : ToolButtonPopupMode

は、ポップアップ・メニューがツール・ボタンと一緒に使われる方法を記述します。

デフォルトでは、このプロパティはDelayedPopup に設定されています。

アクセス関数:

QToolButton::ToolButtonPopupMode popupMode() const
void setPopupMode(QToolButton::ToolButtonPopupMode mode)

toolButtonStyle : Qt::ToolButtonStyle

このプロパティは、ツールボタンがアイコンのみを表示するか、テキストのみを表示するか、アイコンの横/下にテキストを表示するかを保持します。

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

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

QToolButton を指定すると、このスロットが存在する の関連するシグナルに自動的に接続されます。QMainWindow

関数にアクセスします:

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

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

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

parent を親に持つ空のツールボタンを作成します。

[virtual noexcept] QToolButton::~QToolButton()

オブジェクトを破棄し、割り当てられたリソースを解放する。

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

再実装:QWidget::actionEvent(QActionEvent *event)。

[override virtual protected] void QToolButton::changeEvent(QEvent *e)

再インプリメント:QAbstractButton::changeEvent(QEvent *e).

[override virtual protected] void QToolButton::checkStateSet()

再インプリメント:QAbstractButton::checkStateSet().

QAction *QToolButton::defaultAction() const

デフォルトのアクションを返します。

setDefaultAction()も参照ください

[override virtual protected] void QToolButton::enterEvent(QEnterEvent *e)

再インプリメント:QWidget::enterEvent(QEnterEvent *event).

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

再インプリメント:QAbstractButton::event(QEvent *e).

[override virtual protected] bool QToolButton::hitButton(const QPoint &pos) const

再実装:QAbstractButton::hitButton(const QPoint &pos) const.

[virtual protected] void QToolButton::initStyleOption(QStyleOptionToolButton *option) const

QToolButton の値でoption を初期化する。このメソッドは、サブクラスがQStyleOptionToolButton を必要とするが、すべての情報を自分で入力したくない場合に便利です。

QStyleOption::initFrom()も参照

[override virtual protected] void QToolButton::leaveEvent(QEvent *e)

再実装:QWidget::leaveEvent(QEvent *event)。

メニューが定義されていない場合はnullptr を返す。

setMenu()も参照

[override virtual] QSize QToolButton::minimumSizeHint() const

QWidget::minimumSizeHint

[override virtual protected] void QToolButton::mousePressEvent(QMouseEvent *e)

再実装:QAbstractButton::mousePressEvent(QMouseEvent *e).

[override virtual protected] void QToolButton::mouseReleaseEvent(QMouseEvent *e)

再実装:QAbstractButton::mouseReleaseEvent(QMouseEvent *e).

[override virtual protected] void QToolButton::nextCheckState()

再インプリメント:QAbstractButton::nextCheckState().

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

再実装:QAbstractButton::paintEvent(QPaintEvent *e)。

paintevent に応答してボタンをペイントします。

[slot] void QToolButton::setDefaultAction(QAction *action)

デフォルトのアクションをaction に設定します。

ツールボタンにデフォルトアクションがある場合、アクションはボタンの以下のプロパティを定義します:

autoRepeat などの他のプロパティは、アクションの影響を受けません。

defaultAction()も参照してください

void QToolButton::setMenu(QMenu *menu)

与えられたmenu をこのツールボタンに関連付ける。

メニューはボタンのpopupMode に従って表示される。

メニューの所有権はツールボタンには移りません。

menu()も参照

[slot] void QToolButton::showMenu()

関連するポップアップメニューを表示(ポップアップ)する。そのようなメニューがない場合、この関数は何もしません。ユーザによってポップアップメニューが閉じられるまで、この関数は戻りません。

[override virtual] QSize QToolButton::sizeHint() const

QWidget::sizeHint

[override virtual protected] void QToolButton::timerEvent(QTimerEvent *e)

再実装:QAbstractButton::timerEvent(QTimerEvent *e).

[signal] void QToolButton::triggered(QAction *action)

このシグナルは、指定されたaction がトリガーされたときに発せられます。

アクションは、メニューアイテムやキーボードショートカットなど、ユーザーインターフェースの他の部分と関連付けることもできます。このようにアクションを共有することで、ユーザーインターフェイスをより一貫性のあるものにすることができます。

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