このページでは

QTabBar Class

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

ヘッダー: #include <QTabBar>
CMake: find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake: QT += widgets
継承元: 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)

protected関数

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 が使用されます。 ダイアログ以外のウィンドウにあるタブコントロールでは、ほとんどの場合、RoundedSouth またはTriangularSouth のいずれかが使用されます。すべてのページが本質的に類似している多くのスプレッドシートやその他のタブコントロールではTriangularSouth が使用されるのに対し、RoundedSouth は主にページが異なる場合(例:複数ページのツールパレット)に使用されます。QTabBar のデフォルトはRoundedNorth です。

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

QTabBarは、QAbstractButton と同様の方法で自動的なニーモニックキーを作成します。例えば、タブのラベルが「&Graphics」の場合、Alt+Gがそのタブに切り替えるショートカットキーになります。

外観や操作感をカスタマイズしたり、各タブに追加データを保存したりするには、以下の仮想関数を再実装する必要がある場合があります:

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

サブクラスでは、単一のタブの視覚的なジオメトリを返すtabRect() 関数も必要になる場合があります。

3つのタブがあるタブバーFusion ウィジェットスタイルで表示されたタブバー。
切り詰められたタブバーFusion ウィジェットスタイルで表示された、一部が切り取られたタブバー。

QTabWidgetも参照してください 。

メンバ型のドキュメント

enum QTabBar::ButtonPosition

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

定数値説明
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例えば、Excelのスプレッドシートで使用されているものと同様の三角形のタブ
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 : int

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

アクセス関数:

int count() const

currentIndex : int

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

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

アクセス関数:

int currentIndex() const
void setCurrentIndex(int index)

Notifierシグナル:

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_TabBarBaseOverlap 、およびQStyleOptionTabBarBaseも参照してください 。

elideMode : Qt::TextElideMode

タブバーでテキストを省略する方法

このプロパティは、指定されたタブバーのサイズに対してアイテムを表示するスペースが不足している場合に、アイテムがどのように省略されるかを制御します。

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

関連機能:

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

関連項目 :QTabWidget::elideMode 、usesScrollButtons 、およびQStyle::SH_TabBar_ElideModeも参照してください 。

expanding : bool

expanding が 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)

関連項目: elideMode 、QTabWidget::usesScrollButtons 、およびQStyle::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 が割り当てられます。新しいタブがない場合(たとえば、QTabBar にタブが存在しない場合など)は-1が割り当てられます。

注: プロパティ `currentIndex` に対する通知 シグナルです。

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

QWidget::event(QEvent *event) を再実装します。

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

QWidget::hideEvent(QHideEvent *event) を再実装します。

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

`option ` を、tabIndex のタブに記載されている値で初期化します。この方法は、サブクラスで `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)

QWidget::mousePressEvent(QMouseEvent *event) を再実装します。

[override virtual protected] void QTabBar::mouseReleaseEvent(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 に以前に設定されていたウィジェットは非表示になります。widget をnullptr に設定すると、position にある現在のウィジェットが非表示になります。

タブバーがウィジェットの所有権を取得するため、ここで設定されたすべてのウィジェットは、タブバーが破棄される際に削除されます。ただし、他のウィジェット(または `nullptr`)を設定した後で、個別にウィジェットの親を再設定した場合はこの限りではありません。

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

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

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

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

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

enabled が true の場合、位置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 が true の場合は、位置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

index でタブが設定されている場合はそのウィジェットセットを返し、position またはnullptr が設定されていない場合は後者を返します。

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

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

このシグナルは、タブの「閉じる」ボタンがクリックされたときに発生します。index は、削除すべきインデックスです。

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

QVariant QTabBar::tabData(int index) const

位置index にあるタブのデータを返します。index が範囲外の場合は、null variant を返します。

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 に移動させたときに発せられます。

注: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) を再実装します。

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