有关 C++ 扩展增强 Python 问题

我最近做开源项目,给自己的软件作 Python 支持插件。我使用官方的作为支持,然后做测试的时候发现挺奇怪的一件事情:

我做的测试脚本:

import WingPlgService
def main():
if WingPlgService.requestControl() :
WingPlgService.infoPrint("Yes!")
WingPlgService.requestRelease()
else:
WingPlgService.infoPrint("No!")
WingPlgService.infoPrint("Don't Know!")

相关接口代码:

#define PyBoolRETURN(b)                                                        \
if (b) {                                                                     \
Py_RETURN_TRUE;                                                            \
} else {                                                                     \
Py_RETURN_FALSE;                                                           \
}
PyObject *PlgInterface::requestControl(PyObject *self, PyObject *args) {
Q_UNUSED(self);
int timeout = 1500;
if (PyArg_Parse(args, "i", &timeout)) {
PyBoolRETURN(plg->requestControl(timeout));
}
PyBoolRETURN(plg->requestControl());
}

进行测试脚本之后,函数requestControl被调用成功,但是我的测试结果输出既没输出Yes!,也没输出No!,也没输出Don't Know!infoPrint为我拓展函数,作用是输出字符串显示,单独测试正常通过)。
我还想让插件支持调试功能,请问有没有解决方案以供参考,我会考虑提高豆豆数量。

回答

问题补充:

插件开源地址:https://gitee.com/wingsummer/wing-hex-py

以上是有关 C++ 扩展增强 Python 问题的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>