##イントロダクション
マルチプラットフォームでGUIを作成する場合、様々な方法があります。
その中でもQtと連携しているライブラリは多い(OpenCV、その他OpenGLのViewerとして)。
また、QtをPythonから使用しているものもあります。
QtをPythonから使用する方法としてQt for python(PySide2)かPyQt5のどちらかをimportする必要があります。
Qt for pythonが公式のようです。
https://www.qt.io/qt-for-python
しかし、2,3年前に作られたソースコードを見るとPyQt5を採用しているものが多く、Qt for pythonに移植するにはどうしたらいいか、と思ったのでとりあえず比較等まとめてみます。
##環境
Ubuntu18.04
##環境構築の比較
$ sudo apt install python3-pip
Qt for Python | PyQt5 |
---|---|
$ pip3 install PySide2 | $ pip3 install pyqt5 |
##importの比較
モジュール名 | Qt for Python | PyQt5 |
---|---|---|
QtCore | from PySide2 import QtCore | from PyQt5 import QtCore |
QtGui | from PySide2 import QtGui | from PyQt5 import QtGui |
QtWidgets | from PySide2 import QtWidgets | from PyQt5 import QtWidgets |
(ex. from PySide2 import QtCore, QtGui, QtWidgets) |
##Hello worldの比較
Qt for Python | PyQt5 |
---|---|
import sys from PySide2.QtWidgets import QApplication, QLabel app = QApplication(sys.argv) label = QLabel("Hello World!") label.show() app.exec_() |
import sys from PyQt5.QtWidgets import QApplication, QLabel app = QApplication(sys.argv) label = QLabel("Hello World!") label.show() app.exec_() |
##condaでパッケージを取得する場合の比較
Qt for Python | PyQt5 |
---|---|
$ conda install -c conda-forge pyside2 | $ conda install pyqt=5 |
##結論
...とりあえず、このレベルなら何も気負う必要はない?
何も考えずに
「PyQt5」→「PySide2」
「pyqt5」→「pyside2」
に置換してやれば移植できる。
うまくいかなかったら、その都度追記予定。