⑴ QT中调用python
如果你是嵌入的话,应该没问题。python的库会暴露c api的,你的qt程序照着python文档中的embedded章节就好。 看样子,你的是linux下的,不过一般头文件就是include/python.h,怎么会是include/python2.7呢?你写错了吧。库文件应该是在lib下面。
⑵ 怎样用QtCreator编辑运行python脚本
不知道你是在Windows还是在linux系统上
在windows上面先 Win+R 然后 进入CMD 命令行-> 输入:cd py文件的目录
进入你py文件所在的目录后 输入:python 脚本文件名.py 就可以运行了
在linux下,模拟终端输入:python 然后把你的脚本拖进命令行就可以运行了
⑶ 用C++/Qt 写Python调试器遇到的问题
在C++中,“类函数指针”和传统的“函数指针”,是两个完全不同的东西。
你取一个类的成员函数的地址,得到的是一个类函数指针,也叫成员函数指针。即使你的成员函数定义看起来和普通函数原型完全一样,它也和这个原型的普通函数指针完全不同,彼此之间不能转换。
PyEval_SetTrace要求传入的是一个传统的函数指针,你传入一个类函数指针,当然是不行的。编译器报错是说无法将一个类函数指针转换为函数指针。
C++的类函数指针,是一个非常难用的东西,有非常多奇怪的特性,而且不同编译器对它的支持大不相同,是C++着名的复杂性来源之一,建议不要使用。
你想要的东西,实际上是一个“委托”的概念,不过可惜的是C++并不支持委托。使用boost::function可以实现类似功能,但python的C API接口却不支持boost::function,所以也不行。
你这种情况,最简单的方法还是用传统的函数指针,使用普通函数包装下类的成员函数,然后把普通函数的指针传给python。
⑷ C调用Python模块传参的问题 [
Py_BuildValue()函数可以和PyArg_ParseTuple()函数一样识别一系列的格式串,但是输入参数只能是值,而不能是指针。参考官方文档https://docs.python.org/2/c-api/arg.html?highlight=py_buildvalue#Py_BuildValue
⑸ 关于qt+pyqt开发中python的immutable参数传递
# a.py
import b
class Window(QMainWindow):
def __init__(self,parent):
........# super function here
self.f = file('/home/somefile.txt')
self.ui.btn_go.clicked.connect(self.onBtnGo)
........
def onBtnGo(self):
self.result = b.func(self.f)
# file:b.py
def func(f):
result = do_some_sub_with_f_here(f)
return result
⑹ Qt中怎么可以使用python吗
这个看你要求了,如果只是单纯调用,和Qt没什么关系,直接看python手册中C、C++调用python相关的内容就行了。
如果你的python代码中还需要操作Qt相关的东西,那么你需要的 PythonQt 这个第三方的模块(概念上类似于Qt自己的QtScript模块)
⑺ 如何在QT中调用python 我有一个QT的程序,想要调用python的一些脚本,该怎么做呢
C语言中怎么调就怎么调,python文档中有简单的例子,自己看着办就行了。