Привет, я пытаюсь запустить простой QProcess, вот мой очень простой код.Простой QProcess
QDir("/home/brett/sweetback");
QProcess process;
process.start("mysqldump -uroot -ppass sweetassurfwear > sweetassurfwear.sql");
process.waitForFinished(-1);
Что не так? Я chaged код этого
QString program = "/usr/bin/mysqldump";
QStringList arguments;
arguments << "-uroot";
arguments << "-ppass";
arguments << "--routines";
arguments << "sweetassurfwear > sweetassurfwear.sql";
//All the other arguments
QProcess *myProcess = new QProcess(parent);
myProcess->start(program, arguments);
Im теперь получаю ошибку
sweetgui2.cpp: In member function ‘void SweetGuiForm::on_buttonBox_accepted()’:
sweetgui2.cpp:88: error: no matching function for call to ‘QProcess::QProcess(<unresolved overloaded function type>)’
/usr/include/QtCore/qprocess.h:219: note: candidates are: QProcess::QProcess(const QProcess&)
/usr/include/QtCore/qprocess.h:129: note: QProcess::QProcess(QObject*)
make: *** [sweetgui2.o] Error 1
Я изменил линию
QProcess *myProcess = new QProcess(parent);
to
QProcess *myProcess = new QProcess(this);
Теперь он компилирует, но им по-прежнему не получает файл дампа
Родитель является функцией в каждом классе на основе QObject. Таким образом, либо вы должны называть 'parent()', если вы хотите, чтобы QProcess стал дочерним по отношению к родительским объектам текущих объектов или 'this', если вы хотите, чтобы QProcess был дочерним из текущего QObject –