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

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)

参考 URL

Hugo で構築されています。
テーマ StackJimmy によって設計されています。