0
Qt
에서 Matlab
함수를 호출해야합니다. Engine
을 통해 표준 방법이 있다는 것을 알고 있지만 .lib
라이브러리를 연결할 수 없습니다 (Mingw 컴파일러를 사용하기 때문에 생각합니다). 그래서, 내가 이해하는대로 QProcess
그것을 할 수있는 유일한 방법입니다. 저는 예제를 공부하고 간단한 프로그램을 작성했습니다.이 프로그램은 QLineEdit
(Matlab 스크립트 용)과 QPushButton
(Matlab에 스크립트 전송 및 응답 읽기 용) 두 개가 있습니다. 다음은 코드입니다.QProcess를 사용하여 Qt에서 matlab 함수를 호출하십시오.
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
proc = new QProcess(this);
proc->start("\"C:\\Program Files\\MATLAB\\R2013b\\bin\\matlab.exe\"");
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_readButton_clicked()
{
QByteArray dataError = proc->readAllStandardError();
qDebug()<<dataError;
QByteArray dataOutput = proc->readAllStandardOutput();
qDebug()<<dataOutput;
}
void MainWindow::on_writeButton_clicked()
{
QString text = ui->textForMatlab->text();
QByteArray script;
script.append(text);
qDebug()<<script;
proc->write(script);
}
matlab.exe가 시작될 때 프로그램을 시작할 때. 하지만 QLineEdit
에 뭔가를 입력하고 쓰기 버튼을 클릭하면 matlab에서 응답이 없습니다. 내가 뭘 잘못하고 있는지 말해 줄 수 있니? 그 다음 작동하지 않는 경우