我有一个简单的Qt5项目,有一个按钮和一个文本字段,我确实在项目中创建了一个py文件来检查如何从Qt调用python文件中的函数。
虽然现在我被困住了;我有我的testcpp.h和testcpp.cpp,我在其中定义了一个字符串和一个函数来打印该字符串;虽然我不确定我现在如何调用 python 文件中的函数,它只是打印一个字符串。
我想调用Qt函数,并让它调用python文件中的函数;你怎么做?
testcppp.h 文件:
#ifndef TESTCPP_H
#define TESTCPP_H
#include <QObject>
#include <QString>
class testcpp : public QObject
{
Q_OBJECT
public:
explicit testcpp(QObject *parent = nullptr);
QString getTest_to_print() const;
void setTest_to_print(const QString &value);
signals:
public slots:
private:
QString test_to_print;
};
#endif // TESTCPP_H
testcppp.cpp 文件:
#include "testcpp.h"
testcpp::testcpp(QObject *parent) : QObject(parent)
{
}
QString testcpp::getTest_to_print() const
{
return test_to_print;
}
void testcpp::setTest_to_print(const QString &value)
{
test_to_print = value;
}
void testcpp::PrintViaPython(QString &test_to_print)
{
}
蟒蛇文件:
# -*- coding: utf-8 -*-
try:
from PySide import QtWidgets
except:
from PyQt5 import QtWidgets
class test_python:
def __init__(self):
def testme(self, string_to_print):
print(string_to_print)
任何IDE都可以创建任何类型的文件,这并不意味着它可以执行,QtCreator就是这种情况。
回答问题的背景,我建议使用PythonQt库,你可以通过SIP和python.h库从头开始,但如果有一个我建议的库,那就没有必要了。