5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Qt for pythonとPyQt5の比較

Last updated at Posted at 2019-02-23

##イントロダクション
マルチプラットフォームで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」
に置換してやれば移植できる。

うまくいかなかったら、その都度追記予定。

5
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?