也许这是一个非常愚蠢的问题,但我希望你能给我一些答案。
我有一个商业应用程序,它使用Qt3的GUI和一个embedded式的Python解释器(命令行)来编写脚本。 我想为使用Qt4的这个应用程序编写一个定制的插件。 该插件主要是一个子类QMainWindow类,连接到一个DLL(所以我在Windows上)与一个boost python包装。 python包装应该是我的插件和我的商业应用程序之间的接口。
所以我的问题是:这可能吗? 因此,在同一个应用程序中运行独立于运行Qt4代码的Qt3代码。
第一个实验导致应用程序closures,我将尝试进一步调查…
谢谢!
编辑:我的应用程序崩溃,因为我没有创build一个QT4 qapplication实例。 所以当我创build实例时,没有额外的Qt命名空间(这是在答案中build议的,所以不需要重新编译),一切正常。 ;)
在Trolltech论坛上查看此主题 。 (其实这是关于Qt4应用程序中的Qt3插件,但我怀疑答案是一样的)。
更新:现在链接了一个笨蛋,但是后卫机器有它。
这可能是通过命名空间Qt。 从configure --help
;
-qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.
从理论上讲,这应该可以防止可能导致当前方法失败的符号冲突。