zl程序教程

您现在的位置是:首页 >  其他

当前栏目

Qt5 读取中文路径下的pcd格式点云文件

中文文件 格式 路径 读取 点云 QT5
2023-09-14 09:01:40 时间

一、英文路径的读取

   Qt5默认读取英文路径下的文件,此时要求文件夹和文件名都必须是非中文。如下:
文件夹名
在这里插入图片描述
文件名
在这里插入图片描述

1、读取代码

ReadFilePath = QFileDialog::getOpenFileName(this, ("选择 PCD 文件..."), 0, ("*.pcd"));

	ui.ReadlineEdit->setText(ReadFilePath);
	char* FilePath;
	QByteArray ba = ReadFilePath.toLatin1(); // must
	FilePath = ba.data();
	pcl::io::loadPCDFile(FilePath, *cloud_m);

2、读取结果

在这里插入图片描述
把文件夹或文件名改成中文,再来加载点云,结果证明上述代码是不支持读取中文文件下的数据的。
在这里插入图片描述

二、中文路径的读取

1、读取代码

ReadFilePath = QFileDialog::getOpenFileName(this, ("选择 PCD 文件..."), 0, ("*.pcd"));

	ui.ReadlineEdit->setText(ReadFilePath);

	QByteArray cdata = ReadFilePath.toLocal8Bit(); // must
	//std::string FilePath = std::string(cdata);      //文件名
	std::string FilePath = cdata.toStdString();      // 文件名

2、读取结果

中文名称文件夹中的英文名pcd文件
在这里插入图片描述
中文名称文件夹中的中文名pcd文件
在这里插入图片描述

三、备注

中文路径的读取方法,适用于英文及中文路径下中/英文.pcd文件的读取。