Qt 코드의 문자열 값을 'part1_4_md'라는 쉘 스크립트 파일에 전달하고 싶습니다.Qt에서 쉘 스크립트 파일로 인수 전달
void MainWindow::on_pushButton_clicked()
{
QString path = ui->lineEdit->text();
QProcess *process = new QProcess;
process->start("/bin/bash", QStringList() << "/home/kha/Unix/QT/part1_4_md");
process->waitForBytesWritten();
process->waitForFinished();
QString output(process->readAllStandardOutput());
ui->textEdit->setPlainText(output);
QTextCursor textCursor = ui->textEdit->textCursor();
textCursor.movePosition(QTextCursor::Start, QTextCursor::MoveAnchor, 1);
}
나는 lineEdit 상자를 만들 때 그 상자에 문자열 값에 사용자가 입력하고 버튼을 누르면, 내 쉘 스크립트 파일과에 전달하기 위해이 값이 필요합니다 : 이것은 Qt는에서 내 코드입니다 쉘 스크립트 파일은 해당 값을 사용하여 실행합니다. 이것은 내 쉘 스크립트 파일과 같은 모습입니다 :
#!/bin/bash
files=($*);
dates=();
for ((i = 0; i<${#files[@]}; i++))
do
dates[$i]=$(date -r ${files[i]} +"%Y%m%d");
done
문자열 값은 '$의 *'에 전달해야하는 '파일'배열의 인수로 사용할 수 있습니다. 어떻게하는지 알려주세요.
http://doc.qt.io/qt-5/qprocess.html#setArguments를 사용해야하며 UI 스레드에서 QProcess를 시작하고 기다리지 말아야합니다. 그건 잘못된 것입니다. – AlexanderVX