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 } |
プロパティ
- arrowType : Qt::ArrowType
- autoRaise : bool
- popupMode : ToolButtonPopupMode
- toolButtonStyle : Qt::ToolButtonStyle
パブリック関数
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() で調整できます。QMainWindow のQToolBar 内で使用すると、ボタンは自動的にQMainWindow の設定に調整されます(QMainWindow::setToolButtonStyle() とQMainWindow::setIconSize() を参照)。アイコンの代わりに、arrowType で指定された矢印記号を表示することもできます。
ツール・ボタンは、ポップアップ・メニューで追加の選択肢を提供できます。ポップアップ・メニューはsetMenu() を使用して設定できます。setPopupMode() を使用して、メニューが設定されたツール・ボタンで使用可能なさまざまなモードを設定します。デフォルトのモードは DelayedPopupMode で、これは Web ブラウザの「戻る」ボタンで使用されることがあります。ボタンをしばらく押し続けると、メニューがポップアップし、ジャンプ可能なページのリストが表示されます。タイムアウトはスタイルに依存します。QStyle::SH_ToolButton_PopupDelay を参照してください。
Qt Assistantツールバーのツールボタン |
Qt Assistant'sツールバーには、メインウィンドウの他の部分で使用されるアクションに関連するツールボタンが含まれています。 |
QPushButton 、QToolBar 、QMainWindow 、QActionも参照のこと 。
メンバー型ドキュメント
enum QToolButton::ToolButtonPopupMode
メニューが設定されているか、アクションのリストを含んでいるツールボタンのために、メニューがどのようにポップアップされるべきかを記述します。
定数 | 値 | 説明 |
---|---|---|
QToolButton::DelayedPopup | 0 | ツールボタンを一定時間押し続けた後(タイムアウトはスタイルに依存します。QStyle::SH_ToolButton_PopupDelay を参照してください)、メニューが表示されます。典型的な応用例は、いくつかのウェブブラウザのツールバーの「戻る」ボタンです。ユーザーがこれをクリックすると、ブラウザは単に前のページに戻ります。しばらくボタンを押し続けると、ツールボタンは現在の履歴リストを含むメニューを表示する。 |
QToolButton::MenuButtonPopup | 1 | このモードでは、ツールボタンはメニューがあることを示す特別な矢印を表示します。メニューは、ボタンの矢印部分が押されたときに表示される。 |
QToolButton::InstantPopup | 2 | メニューは、ツールボタンが押されると、遅滞なく表示される。このモードでは、ボタン自身のアクションはトリガーされません。 |
プロパティの説明
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)。
QMenu *QToolButton::menu() const
メニューが定義されていない場合はnullptr
を返す。
setMenu()も参照 。
[override virtual]
QSize QToolButton::minimumSizeHint() const
[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
[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.