Qtブログ(日本語)

Qt のブリッジ技術による C# クロスプラットフォーム UI フレームワーク

作成者: Qt Group 日本オフィス|May 25, 2026 11:39:44 AM

このブログは「A Cross-Platform C# UI Framework via Qt's Bridging Technology」の抄訳です。 

C# の UI フレームワークには、おなじみのパターンがあります。Windows 優先、Linux は対象外、ロードマップは不透明。WPF は開発が止まり、MAUI は Linux をスキップし、WinUI 3 は Windows 専用のままです。一方、組込み Linux への需要は高まり続けており、C# チームは Linux 向けの優れた UI 選択肢の不足を感じています。C# 向けのパブリックベータとして提供中の Qt Bridges は、既存の C# コードベースを活かしながら、Qt Quick の豊富な UI ライブラリ・API、ハードウェアアクセラレーション、クロスプラットフォーム対応を利用できる UI フレームワークへのアクセスを可能にします。 

Qt Bridge for C# とは? 

Qt Bridges は、単一のフロントエンド実装をさまざまなバックエンド言語と組み合わせて使えるようにすることを目指したブリッジ技術です。C# においては、既存の C# UI フレームワークに代わるクロスプラットフォームの新しい選択肢として機能します。現在、C# ブリッジはパブリックベータとして公開されています。 

C# ブリッジは、C# のアプリケーションロジック層を Qt Quick(自動車のダッシュボードから医療機器まで世界中で実績のある UI フレームワーク)に直接接続します。既存のコードベースや .NET との連携、チームが培ってきた知識をそのまま活かせます。ハードウェアアクセラレーション、C# on Linux の本格対応、HWND 埋め込みによる段階的な WPF 移行パスもすべて含まれています。開発ワークフローはそのままに、リリースできる製品の幅が広がります。 

Qt Bridge は C# UI フレームワークとしてどう機能するのか 

C# と QML を使ってアプリケーションを作成すると、このブリッジが C# の型に対してネイティブな Qt ベースのラッパーを生成します。ラッパーはオブジェクトの生成、メソッドの呼び出し、イベントの通知といった相互運用に必要なすべての処理を担います。これにより、QML から C# の型を直接参照できるようになります。以下はその例です。 

 

 

現在公開中の Qt Bridges では、ネイティブラッパーは C++ コードとして生成されるため、C++ コンパイラ/ツールチェーンが必要です(Visual Studio の場合は C++ によるデスクトップ開発ワークロードのインストールが必要です)。現在、ビルド時に C++ ツールチェーンが不要な実行時設定型の相互運用モデルの開発も進めています。 

Visual Studio で C# ブリッジを始める 

Qt Bridge を C# UI フレームワークとして利用する最も手軽な方法は、こちらの手順に従ってテンプレートパッケージをインストールし、付属のプロジェクトテンプレートをもとに C# + QML アプリを作成することです。 

テンプレートパッケージのインストール 

  1. Visual Studio のターミナルウィンドウを開く

    • View > Terminal

  2. 以下のコマンドを実行して、Qt Bridge for C# のテンプレートパッケージをインストールする

    • dotnet new install QtGroup.Qt.Bridge.CSharp.Templates

C# + QML アプリプロジェクトの作成 

  1. 新しいプロジェクトの作成を選択する

    • File > New > Project/Solution

  2. テンプレートの検索ボックスに「QML」と入力し、検索結果が表示されるまで待つ

  3. 「QML Application」プロジェクトテンプレートを選択する

  4. [次へ] をクリックする

  5. 「新しいプロジェクトの構成」ウィンドウで、プロジェクト名を「Names」に設定し、[次へ] をクリックする

  6. (任意)「追加情報」ウィンドウの「サンプルコードをプロジェクトに追加する」チェックボックスをオンにすると、C# と QML のサンプルコードが含まれたプロジェクトが作成される 

  7. [作成] をクリックする

Visual Studio がプロジェクトを生成したら、ソースファイルを開いてコードを確認し、F5 キーを押してビルドと実行を試してみましょう。 

今後の展開 

ぜひ試してみてください。詳細は Qt Bridges C# ドキュメントをご覧ください。フィードバックもお待ちしています。 

現在、C# ブリッジのテクノロジープレビュー(TP)への移行に向けて、機能の改善と拡充を進めています。 

また、既存のフロントエンド選択肢における Linux 向け C# サポートの不足をどのように感じているか、ぜひお聞かせください。Windows 以外の環境で開発している方にとって、本当に必要な機能を備えた C# UI フレームワークは現状存在しないというのが私たちの認識です。組込み Linux への需要が高まるなか、場当たり的な回避策で対処することの難しさを実感されているなら、ぜひその声を聞かせてください。

皆さまのフィードバックが、C# 向けの最良の UI フレームワークを育てる力になります。Qt Bridges フォーラムでご意見を共有いただき、最新情報はこちらでご登録してお待ちください。