繁体   English   中英

可能:程序执行Qt3和Qt4代码?

[英]Possible: Program executing Qt3 and Qt4 code?

也许这是一个非常愚蠢的问题,但我希望你能给我一些答案。

我有一个商业应用程序,它使用Qt3作为其GUI,并使用嵌入式Python解释器(命令行)进行脚本编写。 我想为这个使用Qt4的应用程序编写一个自定义插件。 该插件主要是一个子类化的QMainWindow类,它与一个boost python包装器一起链接到一个dll(所以我在Windows上)。 python包装器应该是我的插件和我的商业应用程序之间的接口。

所以我的问题是:这可能吗? 因此,运行Qt3代码独立于在同一应用程序中运行Qt4代码。

第一次实验导致应用程序关闭,我将尝试进一步调查此...

谢谢!

编辑:我的应用程序崩溃,因为我没有创建QT4 qapplication实例。 因此,当我创建实例时,一切都运行良好,没有额外的Qt命名空间(在答案中建议,所以不需要重新编译)! ;)

在Trolltech论坛上查看此主题 (实际上,这是关于Qt4应用程序中的Qt3插件,但我怀疑答案大致相同)。

更新:现在链接一个哑弹,但是回程机器有它。

这可能是通过命名空间Qt实现的。 来自configure --help ;

-qtnamespace <name>  Wraps all Qt library code in 'namespace <name> {...}'.

从理论上讲,这应该可以防止符号冲突,这可能会使您当前的方法失败。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM