小编Bru*_*Sun的帖子

我们可以使用 SWIG 为 Qt 应用程序制作 python 绑定吗?

如何使用 SWIG 绑定到 QT 应用程序,我们的情况和这个帖子的情况差不多,里面说:

  • 我们有一个带有核心 Swig 绑定的大型 C++/Qt 应用程序。
  • 我们想在 python 中创建新的 UI 工具,这些工具需要使用我们的一些 C++ 小部件。所以我们需要绑定我们的 C++ 小部件。由于我们的核心绑定是用 Swig 编写的(我们对此很满意),我们需要使用相同的绑定工具绑定我们的小部件以实现兼容性。

似乎他们已经成功地在 SWIG 中创建了 Qt 的绑定,但是使用 swig 包装 QT 似乎并不容易,因为带有宏 Q_OBJECT 的 QT 应用程序将在预编译时生成 moc 文件,并在编译时使用这些文件。我试过这个:

>> swig -c++ -python application.i
application.h:46: Error: Syntax error in input(3)
Run Code Online (Sandbox Code Playgroud)

它总是给出关于指示 Q_OBJECT 的第 46 行的错误。

我还发现herehere说不可能使用swig来包装QT,我对此感到很困惑,如果不可行,有人可以对此有所了解,或者如果可以,请举一个关于使用SWIG wrap QT的简单示例. 提前致谢。

更新源文件:application.h

#ifndef   APPLICATION_H_
#define   APPLICATION_H_

#include <QApplication>

class frameApplication : public QApplication
{
    Q_OBJECT

public:
    frameApplication (){}; …
Run Code Online (Sandbox Code Playgroud)

c++ python qt swig

3
推荐指数
1
解决办法
1533
查看次数

标签 统计

c++ ×1

python ×1

qt ×1

swig ×1