はじめに
PythonでOpenCVを利用してカメラや画像をGUIに表示していましたが、AIによる画像判断後にラベルやボタンなども表示したいと思い、GUIの作成方法を調べてみました。
PythonでGUIを作成するにはTKinter、QtPy、PySideを利用するのが一般的(主観)かと思いますが、今回はPySide2をJetson Nanoに実装したいと思います。
手順
とりあえず、以下のようにパッケージを作成してインストールをすれば使えるようになりました。
# /usr/sh
# 必要なパッケージのインストール
sudo apt-get install -y libclang-dev qt5-default qtscript5-dev libssl-dev qttools5-dev qttools5-dev-tools qtmultimedia5-dev libqt5svg5-dev libqt5webkit5-dev libsdl2-dev libasound2 libxmu-dev libxi-dev freeglut3-dev libasound2-dev libjack-jackd2-dev libxrandr-dev libqt5xmlpatterns5-dev libqt5xmlpatterns5 libqt5xmlpatterns5-dev qtdeclarative5-private-dev qtbase5-private-dev qttools5-private-dev qtwebengine5-private-dev libclang-9-dev
# gitからセットアップを取得
cd ~
git clone git://code.qt.io/pyside/pyside-setup.git
cd pyside-setup
git checkout 5.9
# LLVMのインストールディレクトリを指定
export LLVM_INSTALL_DIR=/usr/lib/llvm-9/
# CMakeLists.txtから以下の2行をコメントアウト
#${QtGui_GEN_DIR}/qopengltimemonitor_wrapper.cpp
#${QtGui_GEN_DIR}/qopengltimerquery_wrapper.cpp
sed -e "/^\${QtGui_GEN_DIR}\/qopengltimemonitor_wrapper.cpp/s/^/#/" \
-e "/^\${QtGui_GEN_DIR}\/qopengltimerquery_wrapper.cpp/s/^/#/" \
./sources/pyside2/PySide2/QtGui/CMakeLists.txt -i
# PySideをビルド(本気で3時間ぐらいかかった)
python3 setup.py build
# 再頒布可能なパッケージの作成
python3 setup.py --only-package bdist_wheel
# インストール(パッケージは ./dist/ に入っている)
# ※バージョンによってパッケージのファイル名は変わります
python3 -m pip3 install --user ./dist/PySide2-5.9.0a1-5.9.5-cp36-cp36m-linux_aarch64.whl
参考
※今回はほぼ2のまんまです。