共計 1040 個字符,預計需要花費 3 分鐘才能閱讀完成。
在 Qt 中調用 Python 并傳遞數組有多種方式,下面給出其中兩種常見的方法:
方法一:使用 QProcess 調用 Python 腳本
QStringList arguments;
arguments << "your_python_script.py" << "arg1" << "arg2" << "...";
QProcess process;
process.start("python", arguments);
process.waitForFinished();
QString output = process.readAllStandardOutput();
在 Python 腳本中可以通過 sys.argv 獲取傳遞的參數,其中 argv[0] 是腳本路徑,后面的參數依次是傳遞的數組元素。
方法二:使用 PyQt 的 QPythonCallable 調用 Python 函數
#include <QApplication>
#include <QAxScript>
#include <QAxObject>
#include <QDebug>
int main(int argc, char *argv[]) {QApplication a(argc, argv);
QAxScript engine("Python");
engine.setScript("your_python_script.py");
engine.start();
QAxObject* function = engine.globalObject().querySubObject("your_python_function_name");
QVariantList arguments;
// 將數組元素加入到 arguments 中
arguments << QVariant(1) << QVariant(2) << QVariant(3);
QVariant result = function->call(QVariant(arguments));
qDebug() << result;
engine.quit();
return a.exec();}
在 Python 腳本中需要將接收數組的函數定義為可調用對象,例如:
def your_python_function_name(arg_list):
# 處理數組
return "result"
這種方法需要使用 QAxScript,需要在.pro 文件中添加 QT += axcontainer
。
以上是兩種常見的方法,根據具體情況可以選擇適合的方法來調用 Python 并傳遞數組。
丸趣 TV 網 – 提供最優質的資源集合!
正文完