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

2022/02/17

[PySide] インスタンスが破棄されているかどうかを調べる

event_note2022/02/17 5:24

PySide を使っていて、既にインスタンスが破棄されているオブジェクトにアクセスした際、以下のようなエラーが表示されます。

RuntimeError: Internal C++ object (PySide6.QtCore.QThread) already deleted.

これを回避するため、インスタンスが破棄されているかどうかを知るにはどうすればいいか調べてみたところ、以下が見つかりました。

shiboken というモジュールを使えばいいそうです。
公式ドキュメントは以下です。

環境

  • PySide 6.2.2.1
  • Python 3.8.10

サンプルコード

import shiboken6

print shiboken6.isValid(hoge)