Phonon でビデオを再生する単純な PySide アプリケーションがあります。
IDLE ではすべて正常に動作しますが、(py2exe を使用して) 実行可能ファイルを作成して実行すると、次のエラーが発生します。
QObject: Cannot create children for a parent that is in a different thread.
(Parent is MediaObject(0x3c614b8), parent's thread is QThread(0x44e2ed0), current
thread is QThread(0x3c6fad0)
問題を解決するために私が試みたことの 1 つは、MediaObject を手動で QApplication スレッドに移動することでしたQObject::moveToThread(QApplication.instance().thread())
。これは効果がなく、Media Object スレッドは既に QApplication のスレッドと同じであることが判明しました。アプリの出力:
App thread:<PySide.QtCore.QThread object at 0x03C1DF58>
Creating media object...
Media obj thread:<PySide.QtCore.QThread object at 0x03C1DF58>
だから私の質問は:
- py2exe でコンパイルしたときにアプリをまったく同じように動作させる方法はありますか?
- 0x03C1DF58 にあるのに、MediaObject のスレッドが 0x44e2ed0 にあるというエラーが表示されるのはなぜですか?