Qt呼叫Python正確用法

2021-10-08 21:32:20 字數 1645 閱讀 6735

pro檔案加上:includepath += ./include
然後在pro檔案右鍵新增靜態庫:把libs裡面的都新增進去

參考:這裡面的1-3寫的都挺好的。

所以參考:

這是我的py檔案

# -*- coding: utf-8 -*-

class gcodetotrack:

def __init__(self,gcode_file,qwer):

#初始化類

#讀取gcode文件

print(gcode_file)

print(qwer)

print("hello world")

def hello(self,adad):

print("hello")

print(adad);

這是我的**:

//執行單句python語句,用於給出呼叫模組的路徑,否則將無法找到相應的呼叫模組

pyrun_******string("import sys");

pyrun_******string(setsyspath.tostdstring().c_str());

//匯入hello.py模組

pyobject* pmodule = pyimport_importmodule("transferkrl");

if (!pmodule)

pyobject *pyclass = pyobject_getattrstring(pmodule, "gcodetotrack");

pyobject *pconstruct = pyinstancemethod_new(pyclass);

//建立引數 參考

//呼叫的正確方法(帶有__init__函式的):

pyobject* pparams = pytuple_new(2);

pytuple_setitem(pparams, 0, py_buildvalue("s", "arcwall.ngc"));

pytuple_setitem(pparams, 1, py_buildvalue("s", "trackfile03.csv"));

pyobject* pins = pyobject_callobject(pconstruct,pparams);

pyobject* pfunhello= pyobject_getattrstring(pins,"hello");

pyobject* pparams1 = pytuple_new(1);

pytuple_setitem(pparams1, 0, py_buildvalue("s","arcwall.ngc"));

pyobject *functwoback = pyobject_callobject(pfunhello, pparams1);//獲取返回值

int res = 0;

pyarg_parse(functwoback,"i",&res);//轉換返回型別

qdebug()<

Qt呼叫Python指令碼

最近在做乙個智慧型汽車中控儀表系統 在開發好的qt介面裡想呼叫.py指令碼 就上網查了一下如何呼叫 1.首先把py指令碼新增到專案工程裡面去 2.在cpp檔案中寫這樣一段函式 py initialize 初始化 if py isinitialized return 匯入模組 pyrun string...

QT應用 12 QT呼叫python

功能 用qtcreator呼叫python檔案。1.環境 win10 64 位 python3.8 64位 mingw 64位 位數一定要匹配,如果是64位,全部為64位。包括環境變數中的設定值。2.pro 配置 路徑選擇 自己盤上的安裝路徑 win32 config release,debug r...

QT呼叫python檔案(呼叫函式傳參)

pro檔案中 includepath i e miniconda3 include libs le miniconda3 libs lpython37 include define slots q slots include int main int argc,char ar 設定python檔案路...