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 } |
プロパティ
- 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 アシスタントのツールバーとツールボタン |
Qtアシスタントのツールバーには、メインウィンドウの他の部分で使用するアクションに関連するツールボタンがあります。 |
QPushButton 、QToolBar 、QMainWindow 、QActionも参照して ください。
メンバ型ドキュメント
enum QToolButton::ToolButtonPopupMode
メニューが設定されているか、アクションのリストが含まれているツールボタンに対して、どのようにメニューをポップアップさせるかを記述します。
定数 | 値 | 説明 |
---|---|---|
QToolButton::DelayedPopup | 0 | ツールボタンを一定時間押し続けた後(タイムアウトはスタイルに依存します。QStyle::SH_ToolButton_PopupDelay を参照してください)、メニューが表示されます。典型的な応用例は、いくつかのウェブブラウザのツールバーの「戻る」ボタンです。ユーザーがこれをクリックすると、ブラウザは単に前のページに戻ります。ユーザーがボタンをしばらく押し続けると、ツールボタンは現在の履歴リストを含むメニューを表示する。 |
QToolButton::MenuButtonPopup | 1 | このモードでは、ツールボタンはメニューがあることを示す特別な矢印を表示します。メニューは、ボタンの矢印部分が押されたときに表示される。 |
QToolButton::InstantPopup | 2 | メニューは、ツールボタンが押されると、遅滞なく表示される。このモードでは、ボタン自身のアクションはトリガーされません。 |
プロパティ 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)。
QMenu *QToolButton::menu() const
メニューが定義されていない場合は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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。