thisによると、プログラム内からsystem() ( QProcess ) 関数を使用して gpio プログラムを呼び出しています。
できます。しかし、アプリを 2 回実行する必要があることに気付きました。実際には、2 回目でしか機能しません。ここで指摘されているように、gpio の呼び出しは別のプロセスで行う必要があるようです。
QProcess::setupChildProcess()でこの問題にアプローチする必要がありますか?
setupChildProcess を上書きする QProcess を拡張し、アプリのコンストラクターで SandboxProcess をインスタンス化しました。残念ながら、これはうまくいきませんでした。
class SandboxProcess : public QProcess
{
protected:
void setupChildProcess();
};
void SandboxProcess::setupChildProcess()
{
QString program = "/usr/local/bin/gpio";
QStringList arguments;
arguments << "export" << QString::number(4) << "out";
start(program, arguments);
}