Sur cette page

QTabWidget Class

La classe QTabWidget fournit une pile de widgets à onglets. En savoir plus...

En-tête : #include <QTabWidget>
CMake : find_package(Qt6 REQUIRED COMPONENTS Widgets)
target_link_libraries(mytarget PRIVATE Qt6::Widgets)
qmake : QT += widgets
Hérite de : QWidget

Types publics

enum TabPosition { North, South, West, East }
enum TabShape { Rounded, Triangular }

Propriétés

Fonctions publiques

QTabWidget(QWidget *parent = nullptr)
virtual ~QTabWidget()
int addTab(QWidget *page, const QString &label)
int addTab(QWidget *page, const QIcon &icon, const QString &label)
void clear()
QWidget *cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const
int count() const
int currentIndex() const
QWidget *currentWidget() const
bool documentMode() const
Qt::TextElideMode elideMode() const
QSize iconSize() const
int indexOf(const QWidget *w) const
int insertTab(int index, QWidget *page, const QString &label)
int insertTab(int index, QWidget *page, const QIcon &icon, const QString &label)
bool isMovable() const
bool isTabEnabled(int index) const
bool isTabVisible(int index) const
void removeTab(int index)
void setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner)
void setDocumentMode(bool set)
void setElideMode(Qt::TextElideMode mode)
void setIconSize(const QSize &size)
void setMovable(bool movable)
void setTabBarAutoHide(bool enabled)
void setTabEnabled(int index, bool enable)
void setTabIcon(int index, const QIcon &icon)
void setTabPosition(QTabWidget::TabPosition position)
void setTabShape(QTabWidget::TabShape s)
void setTabText(int index, const QString &label)
void setTabToolTip(int index, const QString &tip)
void setTabVisible(int index, bool visible)
void setTabWhatsThis(int index, const QString &text)
void setTabsClosable(bool closeable)
void setUsesScrollButtons(bool useButtons)
QTabBar *tabBar() const
bool tabBarAutoHide() const
QIcon tabIcon(int index) const
QTabWidget::TabPosition tabPosition() const
QTabWidget::TabShape tabShape() const
QString tabText(int index) const
QString tabToolTip(int index) const
QString tabWhatsThis(int index) const
bool tabsClosable() const
bool usesScrollButtons() const
QWidget *widget(int index) const

Fonctions publiques réimplémentées

virtual bool hasHeightForWidth() const override
virtual int heightForWidth(int width) const override
virtual QSize minimumSizeHint() const override
virtual QSize sizeHint() const override

Slots publics

void setCurrentIndex(int index)
void setCurrentWidget(QWidget *widget)

Signaux

void currentChanged(int index)
void tabBarClicked(int index)
void tabBarDoubleClicked(int index)
void tabCloseRequested(int index)

Fonctions protégées

virtual void initStyleOption(QStyleOptionTabWidgetFrame *option) const
void setTabBar(QTabBar *tb)
virtual void tabInserted(int index)
virtual void tabRemoved(int index)

Fonctions protégées réimplémentées

virtual void changeEvent(QEvent *ev) override
virtual bool event(QEvent *ev) override
virtual void keyPressEvent(QKeyEvent *e) override
virtual void paintEvent(QPaintEvent *event) override
virtual void resizeEvent(QResizeEvent *e) override
virtual void showEvent(QShowEvent *) override

Description détaillée

Widget à onglets comportant deux onglets

Un widget d'onglets fournit une barre d'onglets (voir QTabBar) et une « zone de page » qui sert à afficher les pages associées à chaque onglet. Par défaut, la barre d'onglets s'affiche au-dessus de la zone de page, mais différentes configurations sont disponibles (voir TabPosition). Chaque onglet est associé à un widget différent (appelé « page »). Seule la page active est affichée dans la zone de page ; toutes les autres pages sont masquées. L'utilisateur peut afficher une autre page en cliquant sur son onglet ou en appuyant sur son raccourciAlt+lettre, s'il en existe un.

Pour utiliser QTabWidget de manière classique, procédez comme suit :

  1. Créez un QTabWidget.
  2. Créez un ` QWidget ` pour chacune des pages de la boîte de dialogue des onglets, mais ne leur attribuez pas de widget parent.
  3. Insérez des widgets enfants dans le widget de page, en utilisant des mises en page pour les positionner comme d’habitude.
  4. Appeler ` addTab()` ou ` insertTab()` pour placer les widgets de page dans le widget d'onglets, en attribuant à chaque onglet un libellé approprié et, éventuellement, un raccourci clavier.

La position des onglets est définie par tabPosition, leur forme par tabShape.

Le signal currentChanged() est émis lorsque l'utilisateur sélectionne une page.

L'index de la page actuelle est accessible via ` currentIndex()`, et le widget de la page actuelle via ` currentWidget()`. Vous pouvez récupérer un pointeur vers un widget de page d'un index donné à l'aide de ` widget()`, et trouver la position d'un widget par rapport à l'index à l'aide de ` indexOf()`. Utilisez ` setCurrentWidget()` ou ` setCurrentIndex()` pour afficher une page particulière.

Vous pouvez modifier le texte et l’icône d’un onglet à l’aide de setTabText() ou setTabIcon(). Un onglet et la page qui lui est associée peuvent être supprimés à l’aide de removeTab().

Chaque onglet est soit activé, soit désactivé à un moment donné (voir setTabEnabled()). Si un onglet est activé, son texte s’affiche normalement et l’utilisateur peut le sélectionner. S’il est désactivé, l’onglet s’affiche différemment et l’utilisateur ne peut pas le sélectionner. Notez que même si un onglet est désactivé, la page peut tout de même rester visible, par exemple si tous les onglets se trouvent être désactivés.

Les widgets d’onglets peuvent constituer un excellent moyen de diviser une boîte de dialogue complexe. Une alternative consiste à utiliser une QStackedWidget pour laquelle vous fournissez un moyen de naviguer entre les pages, par exemple un QToolBar ou un QListWidget.

La plupart des fonctionnalités de QTabWidget sont assurées par un QTabBar (en haut, fournissant les onglets) et un QStackedWidget (occupant la majeure partie de la zone, organisant les pages individuelles).

Voir également QTabBar, QStackedWidget, QToolBox et l’exemple de boîte de dialogue à onglets.

Documentation sur les types de membres

enum QTabWidget::TabPosition

Ce type d'énumération définit l'emplacement où QTabWidget affiche la ligne des onglets :

ConstanteValeurDescription
QTabWidget::North0Les onglets sont affichés au-dessus des pages.
QTabWidget::South1Les onglets sont affichés sous les pages.
QTabWidget::West2Les onglets sont affichés à gauche des pages.
QTabWidget::East3Les onglets sont affichés à droite des pages.

enum QTabWidget::TabShape

Ce type d'énumération définit la forme des onglets :

ConstanteValeurDescription
QTabWidget::Rounded0Les onglets sont dessinés avec des bords arrondis. Il s'agit de la forme par défaut.
QTabWidget::Triangular1Les onglets sont dessinés avec une forme triangulaire.

Documentation sur les propriétés

[read-only] count : int

Cette propriété indique le nombre d'onglets dans la barre d'onglets

Par défaut, cette propriété a la valeur 0.

Fonctions d'accès :

int count() const

currentIndex : int

Cette propriété contient l'index de la page d'onglet active

L'index actuel est -1 s'il n'y a pas de widget actif.

Par défaut, cette propriété contient la valeur -1, car il n'y a initialement aucun onglet dans le widget.

Fonctions d'accès :

int currentIndex() const
void setCurrentIndex(int index)

Signal de notification :

void currentChanged(int index)

documentMode : bool

Cette propriété indique si le widget d'onglets est affiché ou non dans un mode adapté aux pages de document. Cela correspond au « mode document » sous macOS.

Lorsque cette propriété est définie, le cadre du widget d'onglets n'est pas affiché. Ce mode est utile pour afficher des pages de type document où la page couvre la majeure partie de la zone du widget d'onglets.

Fonctions d’accès :

bool documentMode() const
void setDocumentMode(bool set)

Voir également elideMode, QTabBar::documentMode, QTabBar::usesScrollButtons et QStyle::SH_TabBar_PreferNoArrows.

elideMode : Qt::TextElideMode

Comment tronquer le texte dans la barre d'onglets

Cette propriété contrôle la manière dont les éléments sont tronqués lorsqu'il n'y a pas suffisamment d'espace pour les afficher pour une taille de barre d'onglets donnée.

Par défaut, la valeur dépend du style.

Fonctions d'accès :

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

Voir également QTabBar::elideMode, usesScrollButtons et QStyle::SH_TabBar_ElideMode.

iconSize : QSize

Cette propriété définit la taille des icônes dans la barre d'onglets

La valeur par défaut dépend du style. Il s'agit de la taille maximale que peuvent atteindre les icônes. Les icônes ne sont pas agrandies si leur taille est inférieure.

Fonctions d'accès :

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

Voir également QTabBar::iconSize.

movable : bool

Cette propriété détermine si l'utilisateur peut déplacer les onglets au sein de la zone de la barre d'onglets.

Par défaut, cette propriété est définie sur « false » ;

Fonctions d'accès :

bool isMovable() const
void setMovable(bool movable)

tabBarAutoHide : bool

Si cette valeur est définie sur « true », la barre d'onglets est automatiquement masquée lorsqu'elle contient moins de 2 onglets.

Par défaut, cette propriété est définie sur « false ».

Fonctions d'accès :

bool tabBarAutoHide() const
void setTabBarAutoHide(bool enabled)

Voir aussi QWidget::visible.

tabPosition : TabPosition

Cette propriété définit la position des onglets dans ce widget d'onglets

Les valeurs possibles pour cette propriété sont décrites par l'énumération TabPosition.

Par défaut, cette propriété est définie sur « North ».

Fonctions d'accès :

QTabWidget::TabPosition tabPosition() const
void setTabPosition(QTabWidget::TabPosition position)

Voir également TabPosition.

tabShape : TabShape

Cette propriété définit la forme des onglets dans ce widget d'onglets

Les valeurs possibles pour cette propriété sont « QTabWidget::Rounded » (par défaut) ou « QTabWidget::Triangular ».

Fonctions d'accès :

QTabWidget::TabShape tabShape() const
void setTabShape(QTabWidget::TabShape s)

Voir également TabShape.

tabsClosable : bool

Cette propriété détermine si des boutons de fermeture sont automatiquement ajoutés à chaque onglet.

Fonctions d'accès :

bool tabsClosable() const
void setTabsClosable(bool closeable)

Voir aussi QTabBar::tabsClosable().

usesScrollButtons : bool

Cette propriété détermine si une barre d'onglets doit ou non utiliser des boutons pour faire défiler les onglets lorsqu'elle en comporte un grand nombre.

Lorsqu'une barre d'onglets contient trop d'onglets par rapport à sa taille, elle peut soit s'agrandir, soit ajouter des boutons permettant de faire défiler les onglets.

Par défaut, la valeur dépend du style.

Fonctions d'accès :

bool usesScrollButtons() const
void setUsesScrollButtons(bool useButtons)

Voir également elideMode, QTabBar::usesScrollButtons et QStyle::SH_TabBar_PreferNoArrows.

Documentation sur les fonctions membres

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

Crée un widget à onglets dont le parent est parent.

[virtual noexcept] QTabWidget::~QTabWidget()

Supprime le widget à onglets.

int QTabWidget::addTab(QWidget *page, const QString &label)

Ajoute un onglet avec l’ page et l’ label spécifiés au widget d’onglets, puis renvoie l’index de l’onglet dans la barre d’onglets. La propriété de page est transférée à QTabWidget.

Si l'label de l'onglet contient un « & », la lettre suivant ce symbole est utilisée comme raccourci pour l'onglet ; par exemple, si le libellé est « Bro&wse », la combinaison Alt+W devient un raccourci permettant de déplacer le focus vers cet onglet.

Remarque : si vous appelez addTab() après show(), le système de mise en page tentera de s’adapter aux modifications apportées à la hiérarchie de ses widgets, ce qui peut provoquer un scintillement. Pour éviter cela, vous pouvez définir la propriété QWidget::updatesEnabled sur false avant d’effectuer les modifications ; n’oubliez pas de la redéfinir sur true une fois les modifications terminées, afin que le widget reçoive à nouveau les événements de dessin.

Voir également ` insertTab()`.

int QTabWidget::addTab(QWidget *page, const QIcon &icon, const QString &label)

Ajoute un onglet avec les propriétés ` page`, ` icon` et ` label ` spécifiées au widget d'onglets, puis renvoie l'index de l'onglet dans la barre d'onglets. La propriété de ` page ` est transférée à ` QTabWidget`.

Cette fonction est identique à addTab(), mais avec une icon supplémentaire.

Il s'agit d'une fonction surchargée.

[override virtual protected] void QTabWidget::changeEvent(QEvent *ev)

Réimplémente : QWidget::changeEvent(QEvent *event).

void QTabWidget::clear()

Supprime toutes les pages, mais ne les efface pas. L'appel de cette fonction revient à appeler removeTab() jusqu'à ce que le widget d'onglet soit vide.

QWidget *QTabWidget::cornerWidget(Qt::Corner corner = Qt::TopRightCorner) const

Renvoie le widget affiché dans la propriété « corner » du widget d'onglet ou dans la propriété « nullptr ».

Voir aussi setCornerWidget().

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

Ce signal est émis chaque fois que l'index de la page actuelle change. Le paramètre correspond à la nouvelle position de la page actuelle index, ou à -1 s'il n'y en a pas de nouvelle (par exemple, s'il n'y a pas de widgets dans l'QTabWidget)

Remarque : signalde notification pour la propriété currentIndex.

Voir également ` currentWidget()` et ` currentIndex`.

QWidget *QTabWidget::currentWidget() const

Renvoie un pointeur vers la page actuellement affichée par la boîte de dialogue des onglets. La boîte de dialogue des onglets fait tout son possible pour s'assurer que cette valeur ne soit jamais égale à 0 (mais si vous vous y efforcez suffisamment, cela peut arriver).

Voir également currentIndex() et setCurrentWidget().

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

Réimplémente : QWidget::event(QEvent *event).

[override virtual] bool QTabWidget::hasHeightForWidth() const

Réimplémente : QWidget::hasHeightForWidth() const.

[override virtual] int QTabWidget::heightForWidth(int width) const

Réimplémente : QWidget::heightForWidth(int w) const.

int QTabWidget::indexOf(const QWidget *w) const

Renvoie l'index de la page occupée par le widget w, ou -1 si le widget est introuvable.

[virtual protected] void QTabWidget::initStyleOption(QStyleOptionTabWidgetFrame *option) const

Initialisez ` option ` avec les valeurs fournies à l'adresse QTabWidget. Cette méthode est utile pour les sous-classes qui ont besoin d'un ` QStyleOptionTabWidgetFrame`, mais ne souhaitent pas renseigner elles-mêmes toutes les informations.

Voir également QStyleOption::initFrom() et QTabBar::initStyleOption().

int QTabWidget::insertTab(int index, QWidget *page, const QString &label)

Insère un onglet avec les paramètres ` label ` et ` page ` dans le widget d'onglet à l'adresse spécifiée ` index`, et renvoie l'index de l'onglet inséré dans la barre d'onglets. La propriété de ` page ` est transférée à ` QTabWidget`.

Le libellé s’affiche dans l’onglet et son apparence peut varier en fonction de la configuration du widget d’onglet.

Si l'label de l'onglet contient un « & », la lettre suivant ce symbole est utilisée comme raccourci pour l'onglet ; par exemple, si le libellé est « Bro&wse », la combinaison Alt+W devient un raccourci permettant de déplacer le focus vers cet onglet.

Si l’ index est hors de la plage autorisée, l’onglet est simplement ajouté à la fin. Sinon, il est inséré à la position spécifiée.

Si l'QTabWidget était vide avant l'appel de cette fonction, la nouvelle page devient la page actuelle. L'insertion d'un nouvel onglet à un index inférieur ou égal à l'index actuel incrémentera l'index actuel, mais conservera la page actuelle.

Remarque : si vous appelez insertTab() après show(), le système de mise en page tentera de s’adapter aux modifications apportées à la hiérarchie de ses widgets, ce qui peut provoquer un scintillement. Pour éviter cela, vous pouvez définir la propriété QWidget::updatesEnabled sur false avant d’effectuer les modifications ; n’oubliez pas de rétablir la valeur true de cette propriété une fois les modifications terminées, afin que le widget reçoive à nouveau les événements de dessin.

Voir également addTab().

int QTabWidget::insertTab(int index, QWidget *page, const QIcon &icon, const QString &label)

Insère un onglet avec les paramètres label, page et icon dans le widget d'onglet à l'adresse spécifiée index, et renvoie l'index de l'onglet inséré dans la barre d'onglets. La propriété de page est transférée à QTabWidget.

Cette fonction est identique à `insertTab()`, mais avec une ` icon` supplémentaire.

Il s'agit d'une fonction surchargée.

bool QTabWidget::isTabEnabled(int index) const

Renvoie true si la page à l'adresse index est activée ; sinon, renvoie false.

Voir également setTabEnabled() et QWidget::isEnabled().

bool QTabWidget::isTabVisible(int index) const

Renvoie « true » si la page à l'adresse index est visible ; sinon, renvoie « false ».

Voir aussi setTabVisible().

[override virtual protected] void QTabWidget::keyPressEvent(QKeyEvent *e)

Réimplémente : QWidget::keyPressEvent(QKeyEvent *event).

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

Réimplémente une fonction d'accès pour la propriété : QWidget::minimumSizeHint.

Renvoie une taille minimale appropriée pour le widget d'onglet.

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

Réimplémente : QWidget::paintEvent(QPaintEvent *event).

Dessine la barre d'onglets du widget d'onglets en réponse à l'event de dessin.

void QTabWidget::removeTab(int index)

Supprime l'onglet situé à la position index de cette pile de widgets. Le widget « page » lui-même n'est pas supprimé.

Voir également addTab() et insertTab().

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

Réimplémente : QWidget::resizeEvent(QResizeEvent *event).

void QTabWidget::setCornerWidget(QWidget *widget, Qt::Corner corner = Qt::TopRightCorner)

Définit l'widget on indiquée comme devant s'afficher dans l'corner on spécifiée du widget d'onglet. La géométrie du widget est déterminée en fonction des méthodes ` sizeHint()` et ` style()` du widget.

Seule la composante horizontale de l'corner sera utilisée.

Si l’on transmet nullptr, aucun widget n’apparaîtra dans le coin.

Tout widget de coin précédemment défini est masqué.

Tous les widgets définis ici seront supprimés par le widget d’onglet lors de sa destruction, à moins que vous ne redéfinissiez séparément le parent du widget après avoir défini un autre widget de coin (ou nullptr).

Remarque : les widgets d’angle sont conçus pour les positions d’onglet « North » et « South » ; les autres orientations ne fonctionnent pas correctement.

Voir également cornerWidget() et setTabPosition().

[slot] void QTabWidget::setCurrentWidget(QWidget *widget)

Définit widget comme widget actif. L'widget utilisé doit être une page de ce widget d'onglet.

Voir également addTab(), setCurrentIndex() et currentWidget().

[protected] void QTabWidget::setTabBar(QTabBar *tb)

Remplace l'en-tête « QTabBar » de la boîte de dialogue par la barre d'onglets « tb ». Notez que cette fonction doit être appelée avant l'ajout de tout onglet, sous peine d'un comportement indéfini.

Voir également tabBar().

void QTabWidget::setTabEnabled(int index, bool enable)

Si enable est vrai, la page située à l'adresse index est activée ; dans le cas contraire, la page située à l'adresse index est désactivée. L'onglet de la page est mis à jour en conséquence.

QTabWidget utilise en interne la fonction QWidget::setEnabled(), plutôt que de gérer un indicateur distinct.

Notez qu’un onglet ou une page désactivé(e) peut tout de même être visible. Si la page est déjà visible, la fonction QTabWidget ne la masquera pas ; si toutes les pages sont désactivées, la fonction QTabWidget en affichera une.

Voir également isTabEnabled() et QWidget::setEnabled().

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

Définit l'icon de l'onglet situé à la position index.

Voir aussi tabIcon().

void QTabWidget::setTabText(int index, const QString &label)

Définit un nouveau raccourci clavier ( label ) pour l'onglet de la page accessible à l'adresse index.

Si le texte fourni contient le caractère « & » (ampérande), un raccourci est automatiquement créé pour celui-ci. Le caractère suivant le « & » sera utilisé comme touche de raccourci. Tout raccourci existant sera écrasé, ou supprimé si aucun raccourci n’est défini par le texte. Consultez la documentation relative à la fonction QShortcut pour plus de détails (pour afficher un « et commercial » réel, utilisez « && »).

Voir également tabText().

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

Définit l'info-bulle de l'onglet de la page située à l'adresse index sur tip.

Voir également tabToolTip().

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

Si visible est vrai, la page située à l'adresse index est visible ; dans le cas contraire, la page située à l'adresse index est masquée. L'onglet de la page est mis à jour en conséquence.

Voir également isTabVisible().

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

Définit le texte d'aide « Qu'est-ce que c'est ? » de la page à l'adresse index sur text.

Voir également tabWhatsThis().

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

Réimplémente : ` QWidget::showEvent(QShowEvent *event)`.

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

Réimplémente une fonction d'accès pour la propriété : QWidget::sizeHint.

QTabBar *QTabWidget::tabBar() const

Renvoie l’ QTabBar e actuelle.

Voir aussi setTabBar().

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

Ce signal est émis lorsque l'utilisateur clique sur un onglet d'une page index.

index Il indique l'onglet sur lequel l'utilisateur a cliqué, ou -1 si aucun onglet ne se trouve sous le curseur.

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

Ce signal est émis lorsque l'utilisateur double-clique sur un onglet à l'adresse index.

index Il s'agit de l'index de l'onglet sur lequel l'utilisateur a cliqué, ou -1 si aucun onglet ne se trouve sous le curseur.

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

Ce signal est émis lorsque l'on clique sur le bouton « Fermer » d'un onglet. L'index correspond à l'index de l'onglet à supprimer.

Voir également setTabsClosable().

QIcon QTabWidget::tabIcon(int index) const

Renvoie l'icône de l'onglet de la page situé à l'adresse index.

Voir aussi setTabIcon().

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

Ce gestionnaire virtuel est appelé lorsqu'un nouvel onglet a été ajouté ou inséré à la position index.

Voir également tabRemoved().

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

Ce gestionnaire virtuel est appelé lorsqu'une tabulation a été supprimée de la position index.

Voir également tabInserted().

QString QTabWidget::tabText(int index) const

Renvoie le texte de l'étiquette correspondant à l'onglet de la page situé à l'adresse index.

Voir aussi setTabText().

QString QTabWidget::tabToolTip(int index) const

Renvoie l'info-bulle de l'onglet correspondant à la page à l'adresse index ou une chaîne vide si aucune info-bulle n'a été définie.

Voir aussi setTabToolTip().

QString QTabWidget::tabWhatsThis(int index) const

Renvoie le texte d'aide « Qu'est-ce que c'est ? » correspondant à la page située à l'adresse index, ou une chaîne vide si aucun texte d'aide n'a été défini.

Voir aussi setTabWhatsThis().

QWidget *QTabWidget::widget(int index) const

Renvoie l'onglet situé à l'index index ou nullptr si l'index e est hors limites.

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