プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2022/01/27

[PySide6] ui ファイルが読み込めないので、py ファイルにコンバートして読み込む

update2022/04/01 event_note2022/01/27 1:17

PySide2 では読み込めていた ui ファイルが、PySide6 に移行後読み込めなくなってしまいました。

PySide2 では以下のようなコードで ui ファイルを読み込んでいました。

self.ui = QUiLoader().load('./form.ui', self)

しかし、PySide6 で同じように ui ファイルを読み込もうとすると、以下のエラーが表示されます。

qt.pysideplugin: Environment variable PYSIDE_DESIGNER_PLUGINS is not set, bailing out.
qt.pysideplugin: No instance of QPyDesignerCustomWidgetCollection was found.

環境変数 PYSIDE_DESIGNER_PLUGINS を設定すれば良さそうですが、ググっても解決方法がわかりませんでした。

代わりに、ui ファイルを py ファイルにコンバートする方法がたくさん見つかったので、これで対応しました。
(一手間増えて面倒ですが・・・)

ui ファイルから py ファイルへのコンバート

以下のコマンドでコンバートできます。

$ pyside6-uic form.ui -o ui_form.py

コンバートした py ファイルの読み込み方法

class MainWindow(QMainWindow):
  def __init__(self):
    super(MainWindow, self).__init__()

    self.ui = UI_Form()
    self.ui.setupUi(self)