えいあーるれいの技術日記

ROS2やM5 Stack、Ubuntuについて書いています

Qt designer(PyQt)を使ってCUIアプリをGUI化 (yolo_augmentation)

 AnacondaでPyQt5をDesignerを使ってGUIプログラミングをしたい!と思い、自分のPythonプログラムをGUI化してみることにしました。

 使うプログラムは先日 YOLOのtextファイルも一緒に水増しを行うプログラムを作った - Ar-Rayのてく日記 で紹介したものを使います。

設計は、Anaconda3付属designer.exeを使います。

f:id:Ray_ar:20210111231844p:plain
designer.exeの外観

 今回はコマンドラインオプションをGUIで肩代わりするだけなので、シンプルなGUIです。

f:id:Ray_ar:20210111231924p:plain
デザイン中

 ボタンを押下した後に動く関数を作成するためにSignal/Slotの接続します。

f:id:Ray_ar:20210111232031p:plain
Signal/Slotの接続

 追記はyolo_augmentation_gui.pyのみです。そのため、CUIGUIの両方で動きます。 github.com

 designerで作成したuiファイルは、pyuic5でpy化させます。例えばdesigner_file.uiからgenerate_pyfile.pyを作成する場合は、$ pyuic5 -o generate_pyfile.py designer_file.uiと入力する。

f:id:Ray_ar:20210111232516j:plain
動作の様子

 WindowsでもUbuntuでもどちらでも動きました。QtアプリがPythonでも書けるなら、Pythonでもいいかなー。