Windows 10 IoT CoreでQt QuickのHello World

Hello Qt World for Windows 10 IoT Core
Raspberry Piで動作するWindows 10 IoT CoreはUWPアプリしか動かず、開発環境を直接導入することができないので、基本的に遠隔操作でアプリの転送やデバッグを行うことになります。いまのところリモートデバッグはVisual Studioからしかできないようなので、Qtで作成したアプリをVisual Studio経由で動かせるようにします。

まずはデスクトップのWindows 10にVisual Studio 2017とQtのインストーラをダウンロードして、パソコンにインストールします。Visual Stdioでは「ユニバーサルWindowsプラットフォーム開発」および「C++ユニバーサルWindowsプラットフォームツール」を、Qtではデスクトップでの開発用に「UWP x86(MSVC2017)」、Raspberry Piでの開発用に「UWP ARMv7(MSVC2017)」を指定してください。
Qtでデバッグをしたいのであれば、Windows 10 SDKに含まれるデバッガーを追加でインストールします。
インストールしたQt Creatorを起動したら、「ツール→オプション→Kits」でVisual C++のコンパイラやデバッガーが正しく設定されているかを確認しましょう。間違ったファイルが指定されていると、アイコンが「!」マークになります。
では、新規プロジェクトより「Qt Quick Application - Empty」を選択します。プロジェクトウィザードで追加の指定は行いません。
Qt Creatorの左側にある「デザイン」を選んでmain.qmlのデザイナー画面を表示したら、「エレメント」にある「Text」のアイコンを中央のデザイナーにドラッグ&ドロップします。
このドロップしたコンポーネントに照準を合わせて、ウィンドウ右側のパラメーター設定ダイアログで「テキスト」を任意の文字列に変更し、「レイアウト」タブより「垂直方向アンカー」「水平方向アンカー」を有効にして、親アイテムの上下中央に常に配置されるように指定します。
デバッグで動作を確認してみましょう。
うまくいったら、ではこのQtプロジェクトをVisual Studioのプロジェクトに変換します。流れとしてはQtのビルドツール(qmake)をVisual Studioのコマンドラインツールから使用します。デバッグしながらアプリを開発するのであれば、この作業は頻繁に行うので、バッチファイルとしてプロジェクトフォルダに保存しておくとよいでしょう。
deploy.bat
call "%programfiles(x86)%\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars32.bat"
rem プロジェクトのあるフォルダー
cd "C:\HelloQt\vcproj"
rem プロジェクトファイルをデプロイ
C:\Qt\5.11.2\winrt_armv7_msvc2017\bin\qmake -tp vc ..\HelloQt.pro "CONFIG+=windeployqt"
rem 生成先のフォルダーはリセットされるので、必要なファイルがあれば都度コピーさせる
xcopy "../vs_resource" /Y /e
変換が完了したらVisual Studioでvcxprojファイルを開きます。ここからの作業はUWPアプリの開発と同様になります。
プロジェクトのプロパティにある「デバッグ→コンピューター名」で、Windows 10 IoT Coreが稼働しているRaspberry PiのローカルIPアドレスを指定します。
追加外部ファイルが転送されるため、初めてアプリを起動するまでにはそこそこ時間がかかります。
このスクリーンショットはブラウザのデバイスポータルで表示した例です。
2018/10/25