QTabBar Class

QTabBar クラスは、タブ付きダイアログなどで使用するタブバーを提供します。詳細...

Header: #include <QTabBar>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
Inherits: QWidget

パブリックタイプ

enum ButtonPosition { LeftSide, RightSide }
enum SelectionBehavior { SelectLeftTab, SelectRightTab, SelectPreviousTab }
enum Shape { RoundedNorth, RoundedSouth, RoundedWest, RoundedEast, TriangularNorth, …, TriangularEast }

プロパティ

パブリック関数

QTabBar(QWidget *parent = nullptr)
virtual ~QTabBar()
QString accessibleTabName(int index) const
int addTab(const QString &text)
int addTab(const QIcon &icon, const QString &text)
bool autoHide() const
bool changeCurrentOnDrag() const
int count() const
int currentIndex() const
bool documentMode() const
bool drawBase() const
Qt::TextElideMode elideMode() const
bool expanding() const
QSize iconSize() const
int insertTab(int index, const QString &text)
int insertTab(int index, const QIcon &icon, const QString &text)
bool isMovable() const
bool isTabEnabled(int index) const
bool isTabVisible(int index) const
void moveTab(int from, int to)
void removeTab(int index)
QTabBar::SelectionBehavior selectionBehaviorOnRemove() const
void setAccessibleTabName(int index, const QString &name)
void setAutoHide(bool hide)
void setChangeCurrentOnDrag(bool change)
void setDocumentMode(bool set)
void setDrawBase(bool drawTheBase)
void setElideMode(Qt::TextElideMode mode)
void setExpanding(bool enabled)
void setIconSize(const QSize &size)
void setMovable(bool movable)
void setSelectionBehaviorOnRemove(QTabBar::SelectionBehavior behavior)
void setShape(QTabBar::Shape shape)
void setTabButton(int index, QTabBar::ButtonPosition position, QWidget *widget)
void setTabData(int index, const QVariant &data)
void setTabEnabled(int index, bool enabled)
void setTabIcon(int index, const QIcon &icon)
void setTabText(int index, const QString &text)
void setTabTextColor(int index, const QColor &color)
void setTabToolTip(int index, const QString &tip)
void setTabVisible(int index, bool visible)
void setTabWhatsThis(int index, const QString &text)
void setTabsClosable(bool closable)
void setUsesScrollButtons(bool useButtons)
QTabBar::Shape shape() const
int tabAt(const QPoint &position) const
QWidget *tabButton(int index, QTabBar::ButtonPosition position) const
QVariant tabData(int index) const
QIcon tabIcon(int index) const
QRect tabRect(int index) const
QString tabText(int index) const
QColor tabTextColor(int index) const
QString tabToolTip(int index) const
QString tabWhatsThis(int index) const
bool tabsClosable() const
bool usesScrollButtons() const

再実装パブリック関数

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

パブリックスロット

void setCurrentIndex(int index)

シグナル

void currentChanged(int index)
void tabBarClicked(int index)
void tabBarDoubleClicked(int index)
void tabCloseRequested(int index)
void tabMoved(int from, int to)

保護された関数

virtual void initStyleOption(QStyleOptionTab *option, int tabIndex) const
virtual QSize minimumTabSizeHint(int index) const
virtual void tabInserted(int index)
virtual void tabLayoutChange()
virtual void tabRemoved(int index)
virtual QSize tabSizeHint(int index) const

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

virtual void changeEvent(QEvent *event) override
virtual bool event(QEvent *event) override
virtual void hideEvent(QHideEvent *) override
virtual void keyPressEvent(QKeyEvent *event) override
virtual void mouseDoubleClickEvent(QMouseEvent *event) override
virtual void mouseMoveEvent(QMouseEvent *event) override
virtual void mousePressEvent(QMouseEvent *event) override
virtual void mouseReleaseEvent(QMouseEvent *event) override
virtual void paintEvent(QPaintEvent *) override
virtual void resizeEvent(QResizeEvent *) override
virtual void showEvent(QShowEvent *) override
virtual void timerEvent(QTimerEvent *event) override
virtual void wheelEvent(QWheelEvent *event) override

詳しい説明

QTabBarの使い方は簡単です。あらかじめ定義されたshapes 、タブを描画し、タブが選択されるとシグナルを出力します。ルックアンドフィールをカスタマイズするためにサブクラス化することができます。Qt は、既製のQTabWidget も提供しています。

各タブは、tabText ()、オプションのtabIcon ()、オプションのtabToolTip ()、オプションのtabWhatsThis ()、オプションのtabData ()を持ちます。タブの属性はsetTabText(),setTabIcon(),setTabToolTip(),setTabWhatsThis,setTabData() で変更できます。各タブは、setTabEnabled() で個別に有効/無効にできます。

各タブは、それぞれ異なる色でテキストを表示できます。タブの現在のテキスト・カラーは、tabTextColor() 関数で確認できる。特定のタブのテキスト・カラーを設定するには、setTabTextColor() を使用します。

タブの追加にはaddTab() を、特定の位置への挿入にはinsertTab() を使用する。タブの総数はcount() で指定します。タブは、removeTab() でタブ・バーから削除できます。removeTab() とinsertTab() を組み合わせると、タブを異なる位置に移動できます。

shape プロパティは、タブの外観を定義します。形状の選択は好みの問題ですが、タブ・ダイアログ(環境設定など)では必ずRoundedNorth を使用します。ダイアログ以外のウィンドウのタブコントロールは、ほとんどの場合RoundedSouthTriangularSouth のどちらかを使用します。多くのスプレッドシートや、すべてのページが基本的に類似している他のタブコントロールはTriangularSouth を使用しますが、RoundedSouth はページが異なる場合(複数ページのツールパレットなど)に多く使用されます。QTabBar のデフォルトはRoundedNorth です。

QTabBar の API で最も重要なのはcurrentChanged() シグナルです。これは現在のタブが変更されるたびに発行されます(起動時であっても、現在のタブが「none」から変更されたとき)。また、setCurrentIndex() というスロットがあり、プログラムでタブを選択することができます。関数currentIndex() は現在のタブのインデックスを返し、count はタブの数を保持します。

QTabBarはQAbstractButton 。例えば、タブのラベルが"&Graphics "の場合、Alt+Gはそのタブに切り替えるためのショートカットキーになります。

以下の仮想関数は、ルック&フィールをカスタマイズしたり、各タブに追加データを格納したりするために再実装する必要があるかもしれません:

  • tabSizeHint() タブのサイズを計算する。
  • tabInserted() 新しいタブが追加されたことを通知する。
  • tabRemoved() はタブが削除されたことを通知する。
  • tabLayoutChange() タブが再配置されたことを通知する。
  • paintEvent() はすべてのタブをペイントする。

サブクラスでは、1つのタブのビジュアルジオメトリを返すtabRect() 関数も必要かもしれません。

Screenshot of a Fusion style tab barFusion ウィジェットスタイルのタブバー。
Screenshot of a truncated Fusion tab barFusion ウィジェットスタイルで表示される切り詰められたタブバー。

QTabWidgetも参照して ください。

メンバ型の説明

enum QTabBar::ButtonPosition

この enum 型は、タブ上のウィジェットの位置を示します。

定数説明
QTabBar::LeftSide0タブの左側
QTabBar::RightSide1タブの右側

enum QTabBar::SelectionBehavior

この列挙型は、タブが削除され、削除されるタブが現在のタブでもある場合のQTabBar の振る舞いを示します。

定数説明
QTabBar::SelectLeftTab0削除されるタブの左側のタブを選択します。
QTabBar::SelectRightTab1削除されるタブの右隣のタブを選択する。
QTabBar::SelectPreviousTab2前に選択されたタブを選択します。

enum QTabBar::Shape

この列挙型は、QTabBar でサポートされている組み込み図形の一覧です。スタイルによっては図形の一部が描画されないことがあるので、これらはヒントとして扱ってください。しかし、位置は尊重されるべきです。

定数説明
QTabBar::RoundedNorth0ページの上の通常の丸みを帯びた外観
QTabBar::RoundedSouth1ページの下の通常の丸みを帯びた外観
QTabBar::RoundedWest2ページの左側の通常の丸みを帯びた外観
QTabBar::RoundedEast3ページ右側の通常の丸みを帯びた外観
QTabBar::TriangularNorth4ページ上部の三角タブ。
QTabBar::TriangularSouth5例えば、エクセルのスプレッドシートで使われているような三角形のタブ。
QTabBar::TriangularWest6ページの左側にある三角形のタブ。
QTabBar::TriangularEast7ページの右側にある三角形のタブ。

プロパティ・ドキュメンテーション

autoHide : bool

trueを指定すると、タブバーが2つ以下の場合、タブバーは自動的に非表示になります。

デフォルトでは、このプロパティはfalseである。

アクセス関数:

bool autoHide() const
void setAutoHide(bool hide)

QWidget::visibleも参照してください

changeCurrentOnDrag : bool

trueを指定すると、タブバーをドラッグしたときに現在のタブが自動的に変更されます。

注意: この機能を有効にするには、acceptDropsプロパティもtrueに設定する必要があります。

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

アクセス関数:

bool changeCurrentOnDrag() const
void setChangeCurrentOnDrag(bool change)

[read-only] count : const int

このプロパティは、タブバーのタブの数を保持します。

アクセス関数:

int count() const

currentIndex : int

このプロパティは、タブバーの表示タブのインデックスを保持します。

現在のタブがない場合、現在のインデックスは -1 です。

アクセス関数

int currentIndex() const
void setCurrentIndex(int index)

通知シグナル

void currentChanged(int index)

documentMode : bool

このプロパティは、タブバーがメインウィンドウに適したモードで描画されるかどうかを保持します。

このプロパティは、タブウィジェットで通常とは異なる方法でタブを描画するスタイルのヒントとして使用されます。macOSでは、SafariやSierraのTerminal.appのタブと同じように表示されます。

関数にアクセスします:

bool documentMode() const
void setDocumentMode(bool set)

QTabWidget::documentModeも参照して ください。

drawBase : bool

タブバーがそのベースを描画するかどうかを定義します。

trueの場合、QTabBar 、スタイルのオーバーラップに関連してベースが描画されます。そうでない場合はタブのみが描画されます。

アクセス関数:

bool drawBase() const
void setDrawBase(bool drawTheBase)

QStyle::pixelMetric()、QStyle::PM_TabBarBaseOverlapQStyleOptionTabBarBaseも参照

elideMode : Qt::TextElideMode

タブバーのテキストを隠す方法

このプロパティは、指定されたタブバーサイズで表示するのに十分なスペースがない場合に、アイテムをどのようにエイドするかを制御します。

デフォルトでは、値はスタイルに依存します。

アクセス関数:

Qt::TextElideMode elideMode() const
void setElideMode(Qt::TextElideMode mode)

QTabWidget::elideModeusesScrollButtonsQStyle::SH_TabBar_ElideModeも参照してください

expanding : bool

expand がtrueのときQTabBar は、空いたスペースを使うようにタブを展開します。

デフォルト値はtrueです。

アクセス関数:

bool expanding() const
void setExpanding(bool enabled)

QTabWidget::documentModeも参照して ください。

iconSize : QSize

このプロパティは、タブバーのアイコンのサイズを保持します。

デフォルト値はスタイル依存です。iconSize は最大サイズです。それより小さいアイコンは拡大されません。

これより小さいアイコンは拡大されません:

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

QTabWidget::iconSizeも参照してください

movable : bool

このプロパティは、ユーザーがタブバー領域内でタブを移動できるかどうかを保持します。

デフォルトでは、このプロパティはfalse です;

アクセス関数:

bool isMovable() const
void setMovable(bool movable)

selectionBehaviorOnRemove : SelectionBehavior

削除されたタブがカレント・タブでもある場合、removeTab が呼び出されたときにどのタブをカレント・タブとして設定するか。

デフォルト値はSelectRightTab です。

アクセス関数:

QTabBar::SelectionBehavior selectionBehaviorOnRemove() const
void setSelectionBehaviorOnRemove(QTabBar::SelectionBehavior behavior)

removeTab()も参照

shape : Shape

このプロパティは、タブバーのタブの形状を保持します。

このプロパティに取りうる値は Shape 列挙型で記述される。

アクセス関数:

QTabBar::Shape shape() const
void setShape(QTabBar::Shape shape)

tabsClosable : bool

このプロパティは、タブバーが各タブに閉じるボタンを配置するかどうかを保持します。

tabsClosable が true に設定されると、スタイルに応じて、タブの左側または右側に閉じるボタンが表示されます。ボタンがクリックされると、シグナルtabCloseRequested が発せられます。

デフォルトでは false です。

アクセス関数:

bool tabsClosable() const
void setTabsClosable(bool closable)

setTabButton() およびtabRemoved()も参照

usesScrollButtons : bool

このプロパティは、タブバーが多数のタブを持つ場合に、タブのスクロールにボタンを使用するかどうかを保持します。

タブバーのサイズに対してタブが多すぎる場合、タブバーはそのサイズを拡大するか、タブをスクロールできるボタンを追加するかを選択できます。

デフォルトでは、値はスタイルに依存します。

アクセス関数:

bool usesScrollButtons() const
void setUsesScrollButtons(bool useButtons)

elideModeQTabWidget::usesScrollButtonsQStyle::SH_TabBar_PreferNoArrowsも参照してください

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

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

与えられたparent で新しいタブバーを作成します。

[virtual noexcept] QTabBar::~QTabBar()

タブバーを破棄します。

QString QTabBar::accessibleTabName(int index) const

位置index にあるタブの accessibleName を返すか、index が範囲外の場合は空文字列を返す。

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

int QTabBar::addTab(const QString &text)

新しいタブをテキストtext で追加します。新しいタブのインデックスを返します。

int QTabBar::addTab(const QIcon &icon, const QString &text)

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

アイコンicon とテキストtext を持つ新しいタブを追加します。新しいタブのインデックスを返します。

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

再インプリメントです:QWidget::changeEvent(QEvent *event)を再実装します。

[signal] void QTabBar::currentChanged(int index)

このシグナルはタブバーのカレントタブが変更されたときに発行されます。新しいカレントは与えられたindex を持ち、新しいタブがない場合は -1 を持つ(例えば、QTabBar にタブがない場合など)。

注: プロパティcurrentIndex に対するノーティファイアシグナル。

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

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

[override virtual protected] void QTabBar::hideEvent(QHideEvent *)

Reimplements: (QEvent *event):QWidget::hideEvent(QHideEvent *event)。

[virtual protected] void QTabBar::initStyleOption(QStyleOptionTab *option, int tabIndex) const

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

QStyleOption::initFrom() およびQTabWidget::initStyleOption()も参照してください

int QTabBar::insertTab(int index, const QString &text)

index の位置にテキストtext を持つ新しいタブを挿入します。index が範囲外の場合、新しいタブが追加されます。新しいタブのインデックスを返します。

int QTabBar::insertTab(int index, const QIcon &icon, const QString &text)

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

位置index にアイコンicon とテキストtext を持つ新しいタブを挿入します。index が範囲外の場合、新しいタブが追加されます。新しいタブのインデックスを返します。

この関数が呼ばれる前にQTabBar が空だった場合、挿入されたタブが現在のタブになります。

現在のインデックス以下のインデックスに新しいタブを挿入すると、現在のインデックスはインクリメントされますが、現在のタブは保持されます。

bool QTabBar::isTabEnabled(int index) const

位置index のタブが有効な場合はtrue を返し、そうでない場合はfalse を返します。

bool QTabBar::isTabVisible(int index) const

位置index のタブが表示されている場合は true を返し、そうでない場合は false を返します。

[override virtual protected] void QTabBar::keyPressEvent(QKeyEvent *event)

再実装:QWidget::keyPressEvent(QKeyEvent *event)。

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

プロパティ:QWidget::minimumSizeHint に対するアクセス関数を再実装します。

[virtual protected] QSize QTabBar::minimumTabSizeHint(int index) const

位置index にあるタブの最小タブサイズヒントを返します。

[override virtual protected] void QTabBar::mouseDoubleClickEvent(QMouseEvent *event)

再インプリメント:QWidget::mouseDoubleClickEvent(QMouseEvent *event).

[override virtual protected] void QTabBar::mouseMoveEvent(QMouseEvent *event)

再インプリメント:QWidget::mouseMoveEvent(QMouseEvent *event).

[override virtual protected] void QTabBar::mousePressEvent(QMouseEvent *event)

再リンプルメント: (QMouseEvent *event):QWidget::mousePressEvent(QMouseEvent *event).

[override virtual protected] void QTabBar::mouseReleaseEvent(QMouseEvent *event)

再リンプルメント: (QMouseEvent *event)QWidget::mouseReleaseEvent(QMouseEvent *event)。

void QTabBar::moveTab(int from, int to)

インデックス位置from にあるアイテムをインデックス位置to に移動します。

tabMoved() およびtabLayoutChange()も参照してください

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

再インプリメント:QWidget::paintEvent(QPaintEvent *event)。

void QTabBar::removeTab(int index)

位置index にあるタブを削除します。

SelectionBehaviorも参照してください

[override virtual protected] void QTabBar::resizeEvent(QResizeEvent *)

再インプリメント:QWidget::resizeEvent(QResizeEvent *event)。

void QTabBar::setAccessibleTabName(int index, const QString &name)

位置index にあるタブの accessibleName をname に設定します。

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

void QTabBar::setTabButton(int index, QTabBar::ButtonPosition position, QWidget *widget)

index タブのwidget を設定します。ウィジェットはposition に応じて左側または右側に配置されます。

以前にposition に設定されたウィジェットは非表示になります。widgetnullptr に設定すると、現在のウィジェットはposition で非表示になります。

タブ・バーがウィジェットの所有権を持つため、他のウィジェット(またはnullptr )を設定した後に別途ウィジェットを再保護しない限り、ここで設定されたすべてのウィジェットは、タブ・バーが破棄されたときに削除されます。

tabButton() およびtabsClosable()も参照してください

void QTabBar::setTabData(int index, const QVariant &data)

位置index にあるタブのデータをdata に設定します。

tabData()も参照のこと

void QTabBar::setTabEnabled(int index, bool enabled)

enabled が真の場合、index の位置のタブが有効になり、そうでない場合、index の位置のアイテムが無効になる。

isTabEnabled() も参照

void QTabBar::setTabIcon(int index, const QIcon &icon)

位置index のタブのアイコンをicon に設定する。

tabIcon() も参照

void QTabBar::setTabText(int index, const QString &text)

位置index にあるタブのテキストをtext に設定する。

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

void QTabBar::setTabTextColor(int index, const QColor &color)

指定されたindex のタブのテキストの色を、指定されたcolor に設定します。

無効な色が指定された場合、タブはQTabBar の前景色を使用します。

tabTextColor()も参照

void QTabBar::setTabToolTip(int index, const QString &tip)

位置index にあるタブのツールチップをtip に設定します。

tabToolTip() も参照

void QTabBar::setTabVisible(int index, bool visible)

visible が真の場合、位置index のタブを可視にし、そうでない場合は非表示にします。

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

void QTabBar::setTabWhatsThis(int index, const QString &text)

位置index のタブの What's This ヘルプ・テキストをtext に設定します。

tabWhatsThis() も参照

[override virtual protected] void QTabBar::showEvent(QShowEvent *)

再実装:QWidget::showEvent(QShowEvent *event)。

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

プロパティのアクセス関数を再実装します:QWidget::sizeHint.

int QTabBar::tabAt(const QPoint &position) const

position をカバーするタブのインデックス、またはposition をカバーするタブがない場合は -1 を返します;

[signal] void QTabBar::tabBarClicked(int index)

このシグナルは、ユーザがindex のタブをクリックしたときに発せられる。

index はクリックされたタブのインデックスであり、カーソル下にタブがない場合は-1である。

[signal] void QTabBar::tabBarDoubleClicked(int index)

このシグナルは、ユーザがindex.

index はクリックされたタブを指し、カーソル下にタブがない場合は-1します。

QWidget *QTabBar::tabButton(int index, QTabBar::ButtonPosition position) const

タブが設定されていない場合、indexposition またはnullptr を返します。

setTabButton()も参照のこと

[signal] void QTabBar::tabCloseRequested(int index)

このシグナルは、タブの閉じるボタンがクリックされたときに発せられる。index は削除されるべきインデックスである。

setTabsClosable() も参照

QVariant QTabBar::tabData(int index) const

位置index にあるタブのデータを返すか、index が範囲外の場合は null のバリアントを返す。

setTabData()も参照

QIcon QTabBar::tabIcon(int index) const

位置index にあるタブのアイコン、またはindex が範囲外の場合は null アイコンを返す。

setTabIcon()も参照

[virtual protected] void QTabBar::tabInserted(int index)

この仮想ハンドラは、位置index に新しいタブが追加または挿入された後に呼び出されます。

tabRemoved()も参照

[virtual protected] void QTabBar::tabLayoutChange()

この仮想ハンドラは、タブのレイアウトが変更されるたびに呼び出されます。

tabRect()も参照

[signal] void QTabBar::tabMoved(int from, int to)

このシグナルは、インデックス位置from のタブがインデックス位置to に移動したときに発行されます。

note:QTabWidget は、タブバーからこのシグナルが発せられると、自動的にページを移動します。

moveTab()も参照

QRect QTabBar::tabRect(int index) const

位置index にあるタブの視覚的な矩形を返します。index が非表示であるか、範囲外である場合は null の矩形を返します。

[virtual protected] void QTabBar::tabRemoved(int index)

この仮想ハンドラは、index の位置からタブが削除された後に呼び出されます。

tabInserted()も参照のこと

[virtual protected] QSize QTabBar::tabSizeHint(int index) const

位置index にあるタブのサイズヒントを返す。

QString QTabBar::tabText(int index) const

位置index にあるタブのテキストを返すか、index が範囲外の場合は空文字列を返す。

setTabText()も参照

QColor QTabBar::tabTextColor(int index) const

与えられたindex のタブのテキスト色、またはindex が範囲外の場合は無効な色を返します。

setTabTextColor() も参照

QString QTabBar::tabToolTip(int index) const

位置index にあるタブのツールチップを返すか、index が範囲外の場合は空文字列を返す。

setTabToolTip() も参照

QString QTabBar::tabWhatsThis(int index) const

位置index にあるタブの What's This ヘルプ・テキスト、またはindex が範囲外の場合は空文字列を返します。

setTabWhatsThis() も参照

[override virtual protected] void QTabBar::timerEvent(QTimerEvent *event)

再インプリメント:QObject::timerEvent(QTimerEvent *event)。

[override virtual protected] void QTabBar::wheelEvent(QWheelEvent *event)

再インプリメント:QWidget::wheelEvent(QWheelEvent *event)。

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