Qt 6.9の新機能
Qt 6.9の新機能
Qt Core モジュール
- QString::arg() は、UTF-8 (QUtf8StringView) およびQAnyStringView 引数をサポートするようになりました。arg() に C 文字列リテラルまたは QByteArray を渡しても、QString への暗黙的な変換は行われなくなりました。
- QAnyStringView また、QUtf8StringView には、QStringView やQLatin1StringView と同様に、(マルチ)arg()が追加されました。これらは、QString 版と同様に、QUtf8StringView およびQAnyStringView 引数もサポートしています。
- QJniArray は、固定サイズの空の配列を作成できるようになり、非constイテレータを使用して配列の値を変更したり、operator[]
- QLocale::uiLanguages()には、名前の末尾の構成要素を削除して得られるフォールバックエントリが含まれるようになりました。これまで自身でこのような切り捨てを行っていた呼び出し元は、QLocale が試すべき正しい方法とその順序を把握していることを信頼することが推奨されます。
- QLocale::bcp47Name() は、単純な「en」と区別し、BCP47 仕様により適合させるため、C ロケールを「en-POSIX」として表すようになりました。同様に、名前からロケールを構築する際、変種 POSIX も C ロケールを意味するものとして認識されるようになりました。
- QTimeZone::abbreviation() は Windows 上で、完全な名前ではなく略称を返すようになりました。
- QTimeZone::displayName() は、以前は一部のプラットフォームでサポートされていなかったものの、現在はすべてのプラットフォームにおいて、タイムゾーンに対してロケールに適した名称を実際に提供するようになりました。
- タイムゾーン部分を含むタイムスタンプ文字列を `QDateTime ` で変換する際、ゾーンの長い表示名が認識されるようになりました。
- QMetaEnum また、QFlags は、最大 64 ビットを必要とする型をサポートするようになりました。
- QJsonValue は、QJsonDocument を経由することなく、fromJson およびtoJson を使用してJSONを直接解析およびシリアル化できるようになりました。これにより、複合値だけでなく、文字列や数値などのプリミティブ値も解析およびシリアル化できるようになりました。
- QThread 新しいsetServiceLevel 関数を使用して、OSのスレッド品質サービス(QoS)ヒントを設定できるようになりました。
- QThreadPool また、setServiceLevel を使用して、そのスレッドのサービス品質レベルを設定することもできます。
- QFile::supportsMoveToTrash() は、現在のオペレーティングシステムでQFile::moveToTrash() が実装されているかどうかを報告します。
- QIODevice::readLineInto() を使用すると、事前に割り当てられたバッファに 1 行のデータを読み込むことができます。
- 新しいQ_STATIC_LOGGING_CATEGORY マクロを使用して、単一の翻訳単位でのみ使用されるロギングカテゴリを宣言します。
- 新しいQSortFilterProxyModel::beginFilterChange() メソッドを呼び出して、フィルタリングされたコンテンツの変更が正しく認識されることを確認してください。
- QTimerEvent::matches() を使用すると、タイマーイベントが特定のQBasicTimer に属しているかどうかを簡単にテストできます。
- QUuid::createUuidV7() を使用すると、RFC9562 に基づいた一意の識別子を作成できます。
- QCommandLineParser::showMessageAndExit() を使用すると、アプリケーションを終了する前に、ユーザーに情報メッセージやエラーメッセージを簡単に表示できます。
- QHash tryEmplace および API が追加され、標準ライブラリのそれぞれの API と一致するようになりました。insertOrAssign
- QSpan chop および 変長スパンに対応しました。slice
Qt Graphs モジュール
- QtQuick3D の順序に依存しない透過機能を利用して、Surface3Dに透過機能のサポートを追加しました。現時点では、QtQuick3D に対して近似的な手法(WeightedBlended)のみが実装されているため、正確な手法はまだ使用できません。
- QtQuick3D アプリケーションでView3D にグラフを注入できるようにするため、rootNode を追加しました。
- View3D へのグラフの注入に使用するための、もう 1 つのピッキング手法であるdoRayPicking を追加しました。
- QSpline3DSeries クラスを追加し、ユーザーがデータをスプラインでレンダリングできるようにしました。
- Bars3D にvalueColoringEnabled プロパティを追加しました。これにより、各バーをその値に基づいて個別に色付けできるようになりました。
- QAbstract3DAxis にscaleLabelsByCount プロパティを追加し、軸ラベルの総数に基づいて軸ラベルのスケールを変更するかどうかをユーザーが定義できるようにしました。
- QAbstract3DAxis にlabelSize プロパティを追加し、軸ごとに軸ラベルのサイズを設定できるようにしました。
- Bars3D、Scatter3D、および Surface3D において、X 方向および Y 方向の最小および最大回転角を設定できるようになりました。
- QAbstractAxis にalignment プロパティを追加し、軸を左、右、上、または下に揃えることができるようになりました。
- QGraphsView に
plotAreaプロパティを追加し、グラフが描画される矩形を定義できるようにしました。 - QGraphsView にズームおよびパン機能のサポートが追加されました。
- 面積グラフ、折れ線グラフ、円グラフ、散布図に、カスタム入力処理のサポートが追加されました。
Qt GRPC モジュール
- Qt GRPC クライアントガイドの概要例を追加しました。
- すべてのドキュメントと例を改善・洗練しました。
- 高負荷下での書き込み用に、ストリーミング RPC を最適化しました。
Qt GUI モジュール
- QBrush およびQPen には、色やスタイルの値との比較や、それらからの代入を行うための最適化された演算子が追加されました。
- QPainter::setBrush() には、色をソリッドブラシとして設定するための、最適化された新しいオーバーロードが追加されました。
- QPainterStateGuard は、QPainter に対する保存/復元操作のバランスを確保するための新しい RAII クラスです。
- QColorSpace 4つの原色空間ポイントを設定および取得するためのAPIが追加されました。
- ウィンドウのクライアント領域が、ウィンドウのタイトルバーのコントロールやその他のシステム UI などの他の UI 要素によって隠れたり、競合したりする可能性がある領域まで拡張されるよう要求するためのQt::ExpandedClientAreaHint が追加されました。
- ウィンドウのタイトルバーを背景色なしで描画するよう要求する `Qt::NoTitleBarBackgroundHint ` を追加しました。
- ウィンドウのセーフエリアを反映するために、QWindow::safeAreaMargins() を追加しました。
- テキスト内の絵文字シーケンスの解析と自動検出機能が追加され、Unicode 仕様に基づき、必要に応じてカラーフォントが確実に使用されるようになりました。このパーサーは、QTextOption::DisableEmojiParsing を使用してレイアウトごとに無効にするか、Qt XML の設定時に絵文字セグメンターを無効にすることで無効にできます。
- アプリケーションで使用されるデフォルトの絵文字フォントをカスタマイズするためのQFontDatabase::addApplicationEmojiFontFamily() および関連関数を追加しました。
- フォントがサポートする可変軸に関する情報を取得するための `QFontInfo::variableAxes()` を追加しました。
- QImage::flipped() およびQImage::flip() は、画像を反転させるための `Qt::Orientation ` ベースの API を提供しており、`bool` ベースの代替関数である `QImage::mirrored()` よりもコードが読みやすくなっています。
- QRhi: 対応しているモバイルGPU上でOpenGL ESを実行する場合、可能な限りGL_EXT_multisampled_render_to_textureが利用されます。Qt Quick やQt Quick 3Dなどのクライアントでは、タイル型GPUアーキテクチャにおけるマルチサンプリングレンダリングのパフォーマンスが大幅に向上する可能性があります。
- QRhi: Windows 上の Direct 3D 11 および 12 では、QWindow の更新要求が専用の vblank ウォッチャースレッドによって処理されるようになり、CPU 負荷とレイテンシが低減されました。これにより、Qt Quick などのクライアントでは、例えばマウスやタッチ操作でアイテムをインタラクティブにドラッグする際のラグが軽減されることが期待されます。
- QRhi: 対応可能な環境(Direct 3D 12、Vulkan、Metal)において、可変レートシェーディングのサポートが追加されました。これにより、visionOS上のQt Quick 3D XRで動的なフォーベーション機能が利用可能になります。
- QRhi: OpenGL においても、レンダリングターゲットごとのブレンディングがオプションでサポートされるようになりました。
- QRhi: いくつかの整数および深度テクスチャ形式のサポートが追加されました。
- QRhi: Vulkan 環境において、アプリケーションが提供する待機/シグナルセマフォの引き渡しをサポートしました。これらは vkQueueSubmit および Present に渡されるため、マルチスレッドに依存し、シーングラフレンダラーとの適切な同期を必要とする外部のレンダリング/演算エンジンの統合が可能になります。
- QPdfWriter::author() プロパティを使用して、生成される PDF ドキュメントの作成者を設定します。
Qt HttpServer モジュール
- QHttpServer は、QHttpServerConfiguration およびconfiguration プロパティを通じて設定できるようになりました。現在、rateLimitPerSecond の設定がサポートされています。
Qt Multimedia モジュール
- VideoOutput::endOfStreamPolicy およびVideo::endOfStreamPolicy プロパティが追加され、ビデオストリームが終了した際、アプリケーションが出力の最後のフレームを保持できるようになりました。
- VideoOutput::mirrored およびVideo::mirrored プロパティが追加され、アプリケーションは表示されているビデオを Y 軸を中心に反転させることができます。
Qt Network モジュール
- SETTINGS_MAX_CONCURRENT_STREAMS HTTP/2 設定を制御する `setMaxConcurrentStreams ` が追加されました。
Qt Network Auth モジュール
- QOAuth2DeviceAuthorizationFlow を追加し、RFC 8628 で規定されているデバイス認証グラントを実装しました。
- トークンの更新を容易にするサポートが追加されました。QAbstractOAuth2::autoRefresh 、QAbstractOAuth2::refreshLeadTime 、およびQAbstractOAuth2::accessTokenAboutToExpire() を参照してください。
- システムブラウザ以外のユーザーエージェントの使用が容易になりました。QOAuthUriSchemeReplyHandler::handleAuthorizationRedirect()を参照してください。
- リクエストされたスコープと付与されたスコープの区別を簡素化するため、QAbstractOAuth2::requestedScopeTokens およびQAbstractOAuth2::grantedScopeTokens プロパティを追加しました。
- QOAuthHttpServerReplyHandler に HTTPS サポートを追加しました。QOAuthHttpServerReplyHandler::listen(const QSslConfiguration&, const QHostAddress&, quint16) を参照してください。
- リダイレクト URI のホスト名部分をカスタマイズできるQOAuthHttpServerReplyHandler::setCallbackHost() を追加しました。
- QAbstractOAuth2::setNetworkRequestModifier() を追加し、送信前にネットワークリクエストを変更できるようにしました。
- OpenID ConnectID トークンの取得に関するサポートを改善しました。QAbstractOAuth2::idToken 、QAbstractOAuth2::nonce 、およびQAbstractOAuth2::nonceMode を参照してください。
- QAbstractOAuth2::serverReportedErrorOccurred() シグナルが追加され、従来のQAbstractOAuth2::error() シグナルは非推奨となりました。新しいシグナル名は、これらのエラーが一般的なエラーではなく、RFC 6749 で定義されたケースに特に該当することを明確に示しています。
Qt Protobuf モジュール
- すべてのドキュメントを改善・洗練させました。
- 生成されたヘッダーファイルを保護するために使用するメカニズムを指定する
HEADER_GUARDオプションを追加しました。 - カスタム Protobuf シリアライザへのアクセスにおいて、安全性を犠牲にしてパフォーマンスを向上させる「
protobuf-unsafe-registry」機能を追加しました。
Qt Qml モジュール
- QML Language Server では、ドキュメント構造のアウトライン表示が提供されるようになりました。これにより、クライアント(IDE やコードエディタなど)は、qml ドキュメントの構造をインタラクティブなアウトラインとして表現し、オブジェクト、プロパティ、メソッド、その他のコード要素を階層ビューで表示できるようになります。
- qmlformat に最大行長機能が追加されました。qmlformat は、許可される最大行長に基づいて行の改行位置を制御し、一貫性があり読みやすい QML ドキュメントを保証します。
Qt Quick モジュール
- Item または Window のセーフエリアを管理するための、SafeArea 添付プロパティが追加されました。
- アイテムにせん断変換を簡単に適用できる Shear コンポーネントが追加されました。
- 以前はQt Quick API に欠けていた `FontMetrics::capitalHeight ` プロパティが追加されました。
- C++ のQFontInfo クラスに対応し、フォント解像度の結果を取得するためのFontInfo タイプが追加されました。
- 使用中のグラフィックス API が OpenGL の場合、QQuickPaintedItem の FramebufferObject レンダリングモードのサポートを再導入しました。これは、QQuickPaintedItems でQPainter のレガシー OpenGL ペイントエンジンの使用を必要とする Qt 5 時代のアプリケーション向けの移植支援として提供されます。
- シーングラフレンダラーのバッファプーリングロジックを最適化し、大規模なジオメトリを含むシーンでのメモリ使用量の急増を防止しました。さらに、特にOpenGLで実行する場合、アイテム数の多いシーンにおけるオーバーヘッドが軽減されました。
Qt Quick コントロールモジュール
- ContextMenu が追加されました。これは任意のアイテムにアタッチすることで、右クリックやコンテキストメニューキーなどのプラットフォーム固有のイベント発生時にコンテキストメニューを表示させることができます。
- TextField また、TextArea はデフォルトでContextMenu を提供するようになりました。これらのタイプに対してすでにカスタムコンテキストメニューが設定されている場合、ContextMenu は(右クリックやコンテキストメニューキーを押しても)独自のコンテキストメニューを開きません。
Qt Quick エフェクトモジュール
- RectangularShadow に、角丸長方形のシャドウやグローを素早く作成できる新しい要素が追加されました。APIはCSSのbox-shadowと同様で、color、offset、spread、blurの値が指定可能です。
Qt Quick 3D モジュール
- 透明なオブジェクトのレンダリング用に、WeightedBlended Order Independent Transparency (OIT) の実装を追加しました。
- 32 ビットの符号なし整数テクスチャ形式のサポートが追加されました。
- インスタンス化モデルのシャドウマップ境界の制御が改善され、計算負荷が高くなる場合にパフォーマンスの向上が期待できる。
- 新しい「Ultra」解像度設定により、4K シャドウマップのサポートが追加されました。
- GLSL ES フラグメントシェーダーの浮動小数点数に対して、中精度を強制するオプションを追加しました。主にパフォーマンスチューニング用のツールとして提供されています。 環境変数 QT_QUICK3D_MEDIUM_PRECISION を 0 以外の値に設定してください。他の種類のシェーダー(非 ES GLSL も含む)には影響しません。
- DebugView ポイントライトの影の境界を可視化できるようになりました。
- Qt 3D からQtQuick3D.Helpers へ、組み込みジオメトリを移植しました。PlaneGeometry、SphereGeometry、CylinderGeometry、ConeGeometry、および TorusGeometry が、QtQuick3D.Helpers で利用可能になりました。
- Qt 3D からQtQuick3D.Helpers へ ExtrudedTextMesh の移植を追加しました。
- マテリアルエディタで、カスタムマテリアルを使用したインスタンス化のサポートが追加されました。
Qt Quick 3D XR モジュール
- XrHapticFeedback の新しい項目を通じて、振幅、持続時間、周波数を使用したコントローラーによるハプティック出力のサポートを追加しました。
- XrInputAction に、すべてのハンドラ関数でテストを行うことなく、条件に応じてアクションを無効にする新しいプロパティを追加しました。
- macOS上のMeta XR Simulatorでの実行をサポートするため、OpenXR用のMetalバックエンドが追加されました。
- multiViewRenderingEnabled プロパティは読み取り専用となり、実行時にマルチビューレンダリングの切り替えはできなくなりました。マルチビューレンダリングがサポートされている場合、アプリケーションのライフタイムを通じて有効になります。 移植作業において、マルチビューレンダリングを望まない場合は、環境変数 QT_QUICK3D_XR_DISABLE_MULTIVIEW を 0 以外の値に設定することで無効化できます。
Qt Quick VectorImage モジュール
- Qt SVG の現在のサポートに合わせて、カラーアニメーションおよびトランスフォームアニメーションの暫定的なサポートが追加されました。
Qt SQL モジュール
- QSqlDriver 新しい関数 `connectionName()` が追加され、関連付けられた `QSqlDatabase ` インスタンスの接続名を返します。
- QSqlQueryModel これにより、例えば Qt XML の外部からデータベースが変更され、再読み込みが必要になった場合などに、refresh() を使用してデータベースを更新できるようになりました。
Qt SVG モジュール
- QtSvg::Options に、アニメーションを無効にする 3 つの新しい値が追加されました。
- fill、stroke、および transform プロパティの CSS アニメーションをサポートしました。
Qt VirtualKeyboard モジュール
- フリックキーを使用する新しい日本語レイアウトが追加されました。
- キー音の音量調整機能を追加しました。
Qt WebEngine モジュール
- Qt OpenGL が RHI を使用する場合も含め、内部レンダリングを ANGLE を使用するように切り替えました。パフォーマンスの向上と、Chrome とのバグの類似性を改善しました。
- QWebEngineProfileBuilder また、QMLのWebEngineProfilePrototype が追加され、プロファイルの作成前に構成を行うことで、レースコンディションを回避できるようになりました。
- QWebEngineLoadingInfo ロードがダウンロードに関連していることを示すisDownload プロパティを追加しました。
- QWebEngineUrlRequestInfo また、リクエストがダウンロードに関連していることを示すisDownload() メソッドも追加されました。
- QWebEngineSettings また、QMLのWebEngineSettings に3つの新しい設定が追加されました。PrintHeaderAndFooter、PreferCSSMarginsForPrintingは印刷の設定用です。また、TouchEventsApiEnabledはTouchEvents APIを無効にするもので、一部のウェブサイトではモバイルモードのトリガーとして使用されています。
Qt Widgets Module
- QAbstractItemView には、updateThreshold という新しいプロパティが追加されました。これにより、dataChanged()内で変更された部分を個別に特定しようとする代わりに、ビュー全体の更新をいつ行うべきかを指定できます。これは、大規模なモデルで多数のアイテムが変更された場合に特に有用です。なぜなら、更新範囲(update rect)の計算には、ビュー全体の更新よりも時間がかかる可能性があるからです。
- QComboBox labelDrawingMode プロパティを ` ` に設定することで、アイテムビューのデリゲートを使用してラベルを描画できるようになりました。UseDelegate
- QHeaderView セクションのサイズ変更、非表示、または順序変更が行われない限り、巨大なモデルにおけるメモリ使用量を劇的に削減するよう最適化されています。
- QWidget::accessibleIdentifier として設定された識別子は、支援技術や自動テストツールが特定のウィジェットを識別するために使用できます。
- QDockWidget のドック位置は、QDockWidget::dockLocation プロパティを使用して明示的に設定することはできません。
- QStackedWidget は、新しいウィジェットがスタックに追加されたときに、widgetAdded() シグナルを発行するようになりました。
Qt XML モジュール
- QDomNodeList にiterator API が追加されました。
ツール
QDoc ドキュメントジェネレータ
- QDoc は、マクロの引数でフォーマットコマンドを受け入れるようになりました。
- 作成者は、fn-command でドキュメント化された関数の基礎となる戻り値の型を、
autoを使用して上書きできるようになりました。 - QDocは、C++ヘッダー内のコメントからドキュメントを生成できるようになりました。これはQt 6.9のQDocにテクノロジープレビューとして追加された機能であり、ユーザーの皆様からのフィードバックをお待ちしています。試してみたい場合は、QDocの設定変数`documentationinheaders` を有効にしてください。
- 新しい `qmlenumeratorsfrom` コマンドを使用すると、C++ の列挙型から QML の列挙型ドキュメントを生成できるようになりました。
- generatelistおよびannotatedlistコマンドは、生成されるリストのカスタムソート順に対応するようになりました。
- `deprecated` は将来のバージョンを受け入れ、QDoc はバージョンが将来のものであると認識した場合、適切なテキストを生成します。
- Clang ライブラリの要件: QDoc には LLVM 17 の Clang ライブラリが必要です。また、LLVM 18、19、20 の Clang ライブラリでも動作することが確認されています。
- QDoc は、cmakecomponent、cmakepackage、およびcmaketargetitemコマンドを使用して、サードパーティ製プロジェクトの CMake 要件を調整できるようになりました。
- 例に関連する警告は、新しい設定変数 `examples.warnaboutmissingimages` および `examples.warnaboutmissingprojectfiles` を通じて設定できるようになりました。
- QDocでは、ドキュメント内の画像に対してツールチップを生成できるようになりました。新しい設定変数`usealttextastitle`のドキュメントには、プロジェクトでこの機能を有効にする方法が記載されています。
プラットフォームの変更
ビルドシステムの変更
- Qt のビルドおよび CMake プロジェクトでの Qt の使用には、CMake バージョン 3.22 以降が必要になりました。
デスクトッププラットフォーム
Windows
- 新しい公開 CMake API を追加しました:
- プロジェクトに Windows App SDK を追加するための CMake 関数 `qt_add_win_app_sdk` が追加されました。
- CBDT や COLRv1 などの追加の絵文字フォント形式のレンダリングに対応しました。
Linux上のWaylandクライアント
- コンポジターがこのプロトコルをサポートしている場合、QWindow::setIcon()が機能するように、新しい
xdg-toplevel-icon-v1プロトコルのサポートを追加しました。 - ウィンドウの基盤となる
wl_surfaceは、ウィンドウのライフサイクルと共有されるようになり、ウィンドウが非表示になっても破棄されなくなりました。
モバイルプラットフォーム
Android
- APK 内の非圧縮ネイティブライブラリをサポートし、
packagingOptions.jniLibs.useLegacyPackaging trueが不要になりました。 - qt_add_android_permission() CMake 関数を導入しました。
- Java コードのビルド用の SDK レベルを設定するための CMake プロパティQT_ANDROID_COMPILE_SDK_VERSION を追加しました。
- アプリのアイコンを設定するためのQT_ANDROID_APP_ICONCMake プロパティを追加。
- アプリ名を設定するための CMake プロパティQT_ANDROID_APP_NAMEを追加しました。
- API レベル 31 以降において、位置情報と Bluetooth の権限を分離しました。
- キューに入れられたバックグラウンド UI イベントの最大数を設定できるようにしました。
- ターミナルからアプリを簡単にデプロイ、実行、およびログを取得するためのスクリプトを追加しました。
- Qt Quick AndroidおよびQtQuickViewについて:
- QtAbstractItemModel に setData() および dataChanged() メソッドを追加しました。
- OnDataChangedListener コールバックインターフェースを追加。
- QtQuickViewContent:基になる QtQuickViewContent オブジェクトを引数として渡す onStatusChanged() のオーバーロードを追加します。
- Androidサービスからの複数の埋め込みビューをサポートします。
組み込みプラットフォーム
Boot to Qt
- Yocto 5.1 (Styhead) のサポートが追加されました。
- ターゲットハードウェアのサポートレベルが更新され、Tier 1 で新たに以下のボードがサポート対象となりました:
- NVIDIA Jetson AGX Orin 開発者キット(Boot to Qt、Tier 2 からアップグレード)。
- ターゲットハードウェアのサポートレベルが更新され、Tier 2 に対応する新しいボードが追加されました:
- Toradex Apalis iMX6 (Boot to Qt、Tier 1からダウングレード)。
- ターゲットハードウェアのサポートレベルが更新され、Tier 3で新たにサポートされるボードが追加されました:
- Qualcomm RB3 Gen 2 Vision Kit (Boot to Qt)。
- NXP i.MX 8M Mini LPDDR4 EVK (Boot to Qt、Tier 2から格下げ)。
- NXP i.MX 8M Nano LPDDR4 EVK(Boot to Qt、Tier 2 から格下げ)。
- NXP i.MX 8M Plus LPDDR4 EVK (Boot to Qt、Tier 2 から格下げ)。
- 以下のボードはサポート対象外となりました:
- NVIDIA Jetson AGX Xavier 開発者キット (Boot to Qt)。
- Amazon AWS EC2 ARM64 (Boot to Qt)。
- TI SK-AM69 (Boot to Qt)。
- NXP i.MX 8MQuad EVK (Boot to Qt)。
- NXP i.MX 8QuadXPlus MEK (Boot to Qt).
- Qualcomm Robotics RB5 開発キット (Boot to Qt).
リアルタイムOS
- リアルタイムOSのサポートは、LTSリリースでのみ提供されます。LTS以外のリリースについては、プロフェッショナル・サービスを通じてのみサポートが利用可能です。
APIの変更点のリスト
これらのページには、Qt 6.9におけるAPIの変更点の概要が記載されています:
© 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.