关于qt调用python

加盾男爵 2019-10-22 11:35:51
一个项目,使用qt编写,需要用到python,本来打算直接用pyqt的,但因为需要调用visa库,而该visa库没有提供python接口,c++接口也无法用python调用(可能我水平不够,但试了很多方法都不行)

现在打算用qt编写,然后调用python的函数,然后第一步里要在.pro文件里添加python的

INCLUDEPATH += -I D:/python/include
LIBS += -LD:/python/libs -lpython36

然后写了些简单的示例代码,编译提示
:-1: error: LNK1104: 无法打开文件“python36_d.lib”

我看了下我电脑里D:/python/include目录下只有3个文件
python3.lib
python36.lib
libpython36.a
确实没有这个“python36_d.lib”文件,我想问下这个是什么情况?
...全文
288 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
手无护鸡之力 2019-10-23
  • 打赏
  • 举报
回复
引用 10 楼 加盾男爵 的回复:
[quote=引用 9 楼 管理員 的回复:] 之前用过一个报警灯,厂商提提供了一个dll文件来控制,使用 ctypes 来调用dll内的函数,你这个也是相似的吧?
visa库,用ctypes调用各种出错[/quote] 就是要注意他的函数参数,然后不是传python的数据结构,而是C的,比如 ctypes.c_int32。 尤其是传数组要注意: arr = (ctypes.c_int*5)() 这是长度为5的数组
加盾男爵 2019-10-23
  • 打赏
  • 举报
回复
引用 9 楼 管理員 的回复:
之前用过一个报警灯,厂商提提供了一个dll文件来控制,使用 ctypes 来调用dll内的函数,你这个也是相似的吧?
visa库,用ctypes调用各种出错
手无护鸡之力 2019-10-23
  • 打赏
  • 举报
回复
之前用过一个报警灯,厂商提提供了一个dll文件来控制,使用 ctypes 来调用dll内的函数,你这个也是相似的吧?
手无护鸡之力 2019-10-23
  • 打赏
  • 举报
回复
是 dll文件?用ctypes 调用 不了?
加盾男爵 2019-10-22
  • 打赏
  • 举报
回复
引用 1 楼 陈年椰子 的回复:
https://blog.csdn.net/zhuxukang/article/details/79614335 python36.lib重命名为python36_d.lib 试试,看能否工作。
这篇博客我搜到过,试了无效
陈年椰子 2019-10-22
  • 打赏
  • 举报
回复
https://blog.csdn.net/zhuxukang/article/details/79614335 python36.lib重命名为python36_d.lib 试试,看能否工作。
加盾男爵 2019-10-22
  • 打赏
  • 举报
回复
引用 6 楼 管理員 的回复:
[quote=引用 4 楼 加盾男爵 的回复:] [quote=引用 1 楼 陈年椰子 的回复:] https://blog.csdn.net/zhuxukang/article/details/79614335 python36.lib重命名为python36_d.lib 试试,看能否工作。
顺便问下,有没有Qt调用python类的例子,网上搜索了一大堆的攻略,都知道调用一个python函数为止,我现在有个python类,在Qt中需要使用这个类[/quote] 肯定不行吧,类的数据结构都不一样,调用Python 函数也是用python.h 把C的数据结构转成Python的结构才能调用吧 除非你自己写一个,把Python 的类包装成 C++的类?[/quote] 那肿么办? 1 程序需要调用一个SDK和设备A连接,厂家提供的SDK只有c++接口,目前无法转化为python接口 2 程序需要调用ssh连接一个另一个设备B,该厂商提供了一个python的类来实现和他们的设备的交互
手无护鸡之力 2019-10-22
  • 打赏
  • 举报
回复
引用 4 楼 加盾男爵 的回复:
[quote=引用 1 楼 陈年椰子 的回复:] https://blog.csdn.net/zhuxukang/article/details/79614335 python36.lib重命名为python36_d.lib 试试,看能否工作。
顺便问下,有没有Qt调用python类的例子,网上搜索了一大堆的攻略,都知道调用一个python函数为止,我现在有个python类,在Qt中需要使用这个类[/quote] 肯定不行吧,类的数据结构都不一样,调用Python 函数也是用python.h 把C的数据结构转成Python的结构才能调用吧 除非你自己写一个,把Python 的类包装成 C++的类?
陈年椰子 2019-10-22
  • 打赏
  • 举报
回复
估计和 python 调用 c 一样, 接口类的一般都是函数接口。 建议看看QT里对这个类的代码, 自己重新封装几个函数。
加盾男爵 2019-10-22
  • 打赏
  • 举报
回复
引用 1 楼 陈年椰子 的回复:
https://blog.csdn.net/zhuxukang/article/details/79614335 python36.lib重命名为python36_d.lib 试试,看能否工作。
顺便问下,有没有Qt调用python类的例子,网上搜索了一大堆的攻略,都知道调用一个python函数为止,我现在有个python类,在Qt中需要使用这个类
加盾男爵 2019-10-22
  • 打赏
  • 举报
回复
引用 1 楼 陈年椰子 的回复:
https://blog.csdn.net/zhuxukang/article/details/79614335 python36.lib重命名为python36_d.lib 试试,看能否工作。
解决了,我彻底卸载了python然后重新安装,这次没有安装在D盘,而是使用的默认安装路径,安装完了再按你说复制文件,再改名就可以了,原因未知

37,720

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧