c++ 调用python_C++(Qt)与Python混合编程(二)

在《C++(Qt)与Python混合编程(一)》中总结了如何将python环境集成到Qt中,本次着重总结如何通过C++程序向Python脚本传递参数。

1.通过C++程序向Python脚本传递数字类型、字符串等类型数据

main.cpp

#include 

scirptThree.py

def 

运行结果:

a2951c2ac2a5be5f81a8a7c207d5f4b5.png
运行结果

PyObject_CallMethod()传参类型缩写:

"s"(string) [char *] :将C字符串转换成Python对象,如果C字符串为空,返回NONE。

"s#"(string) [char *, int] :将C字符串和它的长度转换成Python对象,如果C字符串为空指针,长度忽略,返回NONE。

"z"(string or None) [char *] :作用同"s"。

"z#" (stringor None) [char *, int] :作用同"s#"。

"i"(integer) [int] :将一个C类型的int转换成Python int对象。

 "b"(integer) [char] :作用同"i"。

"h"(integer) [short int] :作用同"i"。

"l"(integer) [long int] :将C类型的long转换成Pyhon中的int对象。

"c"(string of length 1) [char] :将C类型的char转换成长度为1的Python字符串对象。

"d"(float) [double] :将C类型的double转换成python中的浮点型对象。

"f"(float) [float] :作用同"d"。

"O&"(object) [converter, anything] :将任何数据类型通过转换函数转换成Python对象,这些数据作为转换函数的参数被调用并且返回一个新的Python对象,如果发生错误返回NULL。

"(items)"(tuple) [matching-items] :将一系列的C值转换成Python元组。

"[items]"(list) [matching-items] :将一系列的C值转换成Python列表。

"{items}"(dictionary) [matching-items] :将一系类的C值转换成Python的字典,每一对连续的C值将转换成一个键值对。

2.通过C++程序将数组向Python脚本传递

main.cpp

#include 

scirptThree.py

def 

运行结果:

d46083c473b3523fc2254a2a04bd2bb8.png
运行结果
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值