也许这是一个非常愚蠢的问题,但我希望你能给我一些答案。
我有一个商业应用程序,它使用Qt3的图形用户界面和嵌入式Python解释器(命令行)的脚本。我想为这个使用Qt4的应用程序编写一个自定义插件。这个插件主要是一个子类化的QMainWindow类,它链接到一个dll (所以我在Windows上)和一个boost python包装器。python包装器应该是我的插件和我的商业应用程序之间的接口。
所以我的问题是:这可能吗?独立于在同一应用程序中运行Qt4代码运行Qt3代码也是如此。
最初的实验导致应用程序关闭,我将尝试进一步调查这一点...
谢谢!
编辑:我的应用程序崩溃了,因为我没有创建QT4 qapplication实例。因此,当我创建实例时,没有额外的Qt名称空间(答案中建议,所以不需要重新编译),一切都工作得很好!;)
发布于 2009-05-26 12:36:01
请参阅Trolltech论坛上的this thread。(实际上,这是关于Qt4应用程序中的Qt3插件的,但我怀疑答案大致相同)。
更新: link now是一个哑巴,但wayback machine有它。
发布于 2009-05-26 13:02:07
这可以通过命名空间Qt来实现。来自configure --help;
-qtnamespace <name> Wraps all Qt library code in 'namespace <name> {...}'.从理论上讲,这应该可以防止符号冲突,这可能会使您当前的方法失败。
https://stackoverflow.com/questions/910230
复制相似问题