Hãy thử điều này:
QProcess process;
process.setWorkingDirectory("D:\\MyWork\\Temp\\source");
process.start("git", QStringList() << "gui");
Hoặc nếu bạn muốn làm điều đó trong một dòng, bạn có thể làm điều này (ở đây chúng tôi đang sử dụng startDetached
thay vì start
):
QProcess::startDetached("git", QStringList() << "gui", "D:\\MyWork\\Temp\\source");
trong trường hợp thứ hai nó là tốt hơn để kiểm tra mã trả về (để hiển thị thông báo lỗi nếu chương trình của bạn không thể chạy chương trình bên ngoài). Ngoài ra bạn có thể đặt tất cả các đối số trong program
chuỗi đầu tiên (tức process.start("git gui");
được phép quá):
bool res = QProcess::startDetached("git gui", QStringList(), "D:\\MyWork\\Temp\\source");
if (!res) {
// show error message
}
Bạn đã cố gắng đọc phản hồi từ dấu nhắc lệnh là tốt? –
Có nó hoạt động từ dấu nhắc lệnh cũng –