使用py2exe编译后,PySide Phonon应用程序运行方式不同

时间:2013-09-27 10:30:27

标签: python pyside py2exe qthread phonon

我有一个简单的PySide应用程序,用Phonon播放视频。

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)


我尝试解决问题的一个方法是使用QObject::moveToThread(QApplication.instance().thread())手动将MediaObject移动到QApplication线程。这没有任何效果,事实证明Media Object线程已经与QApplication的线程相同。一些应用输出:

App thread:<PySide.QtCore.QThread object at 0x03C1DF58>
Creating media object...
Media obj thread:<PySide.QtCore.QThread object at 0x03C1DF58>


所以我的问题是:

  1. 有没有办法让我的应用程序在使用py2exe编译时表现完全相同?
  2. 为什么错误说MediaObject的线程位于0x44e2ed0,当它位于0x03C1DF58时?

0 个答案:

没有答案