QT中路径获取方式
获取路径可以使用以下类:
- QDir
- QStandardPaths
- QApplication
void MainWindow::pushButtonClickSlot()
{
QMessageBox msg;
//用QDir获取相关路径
msg.setWindowTitle("information");
msg.setText("Current Path is:");
msg.setInformativeText(QDir::currentPath());
msg.exec();
msg.setText("Temp Path is:");
msg.setInformativeText(QDir::tempPath());
msg.exec();
msg.setText("Home Path is:");
msg.setInformativeText(QDir::homePath());
msg.exec();
//用QStandardPaths获取相关路径,详细参见assistant
//Qt4中使用QDesktopServices::storageLocation函数实现此功能,现已废弃
msg.setText("Desktop Path is:");
msg.setInformativeText(QStandardPaths::writableLocation(QStandardPaths::DesktopLocation));
msg.exec();
msg.setText("Pictures Path is");
msg.setInformativeText(QStandardPaths::writableLocation(QStandardPaths::PicturesLocation));
msg.exec();
//使用QApplication获取当前exe程序路径
msg.setText("Application Path is");
msg.setInformativeText(/*QApplication::*/qApp->applicationFilePath());
msg.exec();
//使用QApplication获取当前exe所在文件夹
msg.setText("Application directory is");
msg.setInformativeText(QApplication::applicationDirPath());
msg.exec();
//application::displayName这里displayName和name是一样的,详见QCoreApplication::applicationDisplayName
//name和displayname分别是程序名字和程序显示名字(默认相同,可以设置不同,例如displayname可以在windowTitle中体现,
//在QSetting使用无参构造函数时,默认使用applicationName)
msg.setText("Application displayName is");
msg.setInformativeText(QApplication::applicationDisplayName());
msg.exec();
//application::name
msg.setText("Application name is");
msg.setInformativeText(QApplication::applicationName());
msg.exec();
}
可以参考: