[Feelings & Sharing] 【开发】请教有关 C++ 嵌入扩展 Python 相关的问题 Resolved
Tofloor
poster avatar
寂静的羽夏
deepin
2022-07-15 17:36
Author

最近我在开发 羽云十六进制编辑器 的插件,目前开发第二个,第二个完成了我基本就收手了,剩下的就完全进入维护阶段了。这个插件我想让软件支持 Python ,你可以通过 Python 脚本来执行和插件一样的操作,目标就是实现 010 Editor 的模版和脚本功能【我太菜了,搞不了实现脚本解析器】。

但我在测试脚本的时候遇到了一个问题,希望有大佬前辈来指点一下。

如下是我的测试脚本:

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为我拓展函数,作用是输出字符串显示,单独测试正常通过)。貌似执行完这个函数之后,后面的代码一律都没执行……

我还想让插件支持调试 Python 脚本功能,因为里面有大量的内嵌拓展 Python 函数,请问有没有解决方案以供参考……

tail


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

Reply Favorite View the author
All Replies
zccrs
deepin
2022-07-15 17:50
#1

老哥,来 https://t.me/deepin_community 这个群交流技术呀

Reply View the author
寂静的羽夏
deepin
2022-07-15 19:43
#2
zccrs

老哥,来 https://t.me/deepin_community 这个群交流技术呀

我没账号,也注册不了……

Reply View the author
zccrs
deepin
2022-07-15 21:26
#3
寂静的羽夏

我没账号,也注册不了……

😂 搞个代理

Reply View the author
寂静的羽夏
deepin
2022-07-15 22:19
#4
zccrs

😂 搞个代理

代理也不行,手机验证码收不到滴

Reply View the author
zccrs
deepin
2022-07-16 00:29
#5
寂静的羽夏

代理也不行,手机验证码收不到滴

这不至于,我用+86的手机号一直没问题呀

Reply View the author
寰宇ζ
deepin
2022-07-16 17:31
#6
zccrs

这不至于,我用+86的手机号一直没问题呀

有些号段的手机号就是不支持,比如说某个平台,使用198开头的手机号进行注册,可以收到验证码,但就是提示请输入正确手机号,无法通过。

再比如阿里的夸克浏览器,去年及之前竟然完全不支持一系列的新手机号段进行注册账号,今年才可以

Reply View the author
寂静的羽夏
deepin
2022-07-17 01:24
#7

既然是 QT 了,就不必局限于原生调用,反正开源且不打算商用,PythonQT 真香。

Reply View the author
zccrs
deepin
2022-07-19 19:33
#8
寂静的羽夏

代理也不行,手机验证码收不到滴

可以加一下邮件列表:https://bbs.deepin.org/post/240545

Reply View the author
Comments
寂静的羽夏
2022-07-19 19:50
Error You appear to be a robot. Go back and try again. emm,我被认作机器人了……