Qt提供了QDesktopServices類, 可以利用openUrl函數調用默認程序打開文件;
源碼參考:
#ifdef Q_OS_WIN32 m_szHelpDoc = QString("file:///") + m_szHelpDoc; bool is_open = QDesktopServices::openUrl(QUrl(m_szHelpDoc, QUrl::TolerantMode)); if(!is_open) { LogWriter::getLogCenter()->PrintLog(LOG_ERROR,"open help doc failed" ); LogWriter::getLogCenter()->SaveFileLog(LOG_ERROR,"open help doc failed" ); return; } #else QString cmd= QString("xdg-open ")+ m_szHelpDoc; //在linux下,可以通過system來xdg-open命令調用默認程序打開文件; system(cmd.toStdString().c_str()); #endif