我想从不是立即返回的python脚本调用一个包装的C++函数(详细地说:它是一个启动QApplication窗口的函数,函数是QApplication-> exec())。所以在这个函数调用之后,我想继续到Python脚本中的下一行,但执行该脚本和上一行时,它会永久挂起。从python脚本中调用非返回的python函数
相反,当我在python命令行中手动输入我的脚本行时,我可以在非返回函数调用行上再按一次第二次输入后继续我的下一行。
那么如何解决执行脚本时的问题呢?
谢谢!
编辑:
我的python解释器被嵌入到应用程序中。我想为这个应用程序编写一个扩展,作为一个单独的Qt4窗口。所有的Python的东西只是为了让我的图形插件可以访问每个脚本(每boost.python包装)。
我的Python脚本:
import imp
import os
Plugin = imp.load_dynamic('Plugin', os.getcwd() + 'Plugin.dll')
qt = Plugin.StartQt4() # it hangs here when executing as script
pl = PluginCPP.PluginCPP() # Creates a QMainWindow
pl.ShowWindow() # shows the window
对Qt的启动功能的C++代码如下所示:
class StartQt4
{
public:
StartQt4()
{
int i = 0;
QApplication* qapp = new QApplication(i, NULL);
qapp->exec();
}
};
请给我们的代码。 – 2009-06-30 09:02:22