QToolButton Class

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

Header: #include <QToolButton>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: 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 アシスタントのツールバーとツールボタン
Qtアシスタントのツールバーには、メインウィンドウの他の部分で使用するアクションに関連するツールボタンがあります。

QPushButtonQToolBarQMainWindowQActionも参照して ください。

メンバ型ドキュメント

enum QToolButton::ToolButtonPopupMode

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

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

プロパティ Documentation

arrowType : Qt::ArrowType

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

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

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

アクセス関数:

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

autoRaise : bool

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

デフ ォル ト は disabled (すなわち false)。

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

アクセス関数:

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)

再リンプルメント: (QActionEvent *event):QAbstractButton::changeEvent(QEvent *e)。

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

再リンプルメント: (QEvent *e):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

再リンプルメント: (QEvent *e):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()

再リンプルメント: (QMouseEvent *e):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 がトリガーされたときに発せられます。

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

本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。