Я попытался создать приложение с графическим интерфейсом, которое, как я упоминал в заголовке, выполняет скрипты, возможно, не традиционным способом, но у меня нет никакой другой идеи, это работает в Ubuntu, но мне нужно то же самое в RasPberry.Основная проблема, которая у меня есть, заключается в том, что в Raspberry не работает тот же скрипт, Qt (нажатие кнопки) выполняет скрипт в Bash, который выполняет скрипт в октаве, используя команду octave --eval nameofscript.m
В Ubuntu это работает, в Rasbian Stretch нет.Я попробовал этот скрипт в bash в raspberry без использования qt, и он работает.Это мой код, который работает в Ubuntu:
void MainWindow::on_pushButton_clicked()
{
QFile file ("/home/reg-ubu/build-testowy-Desktop-Debug/dane.txt");
QProcess process;
file.open(QIODevice::ReadOnly);
process.startDetached("/bin/sh", QStringList()<< "-c" << "bash skrypt.sh");
file.close();
}
То же самое, что я использую в raspbian.Я заметил, что когда я пишу тот же код в raspbian Qt, он говорит, что skrypt.sh не существует, хотя он находится в том же каталоге, что и другие файлы проекта.Даже если я написал точно такой же путь к skrypt.sh, он говорит, что мой скрипт из октавы не определен в octave --eval nameofscript
.Даже когда я попытался добавить точно такой же путь в этом месте, он будет работать без проблем, но я не вижу новые данные в файле.Сценарий из октавы очень прост:
s =55
plik = fopen('dane.txt','w');
fprintf(plik,'%d\n',s);
fclose(plik);
Это только для тестирования, если он работает.Подводить итоги.Это должно работать следующим образом: нажатие кнопки приложения Qt -> запускает скрипт bash, который запускает скрипт octave, который отправляет данные в dane.txt. Я пробовал другие способы выполнения скрипта таким образом, но ничего не работает, кроме того, что я упомянул.