Windows下对于Qt中带 / 的路径的处理

在Windows下,如果你想使用操作系统的分隔符显示用户的路径,请使用 toNativeSeparators()。

请看以下代码:

cpp 复制代码
void Player::on_playBtn_clicked() {
	if (this->m_url.isEmpty()) {
		openMedia();
		if (this->m_url.isEmpty())return;
	}
	qDebug()<< m_url.toUtf8();
	if (!vlc_player) {
		auto media = libvlc_media_new_path(this->vlc_ins, 
			m_url.toUtf8());
		if (!media) {
			qWarning("media new failed: % s", libvlc_errmsg());
			return;
		}
		this->vlc_player = libvlc_media_player_new_from_media(media);
		if (!vlc_player) {
			qWarning("vlc_player new failed: % s", libvlc_errmsg());
			return;
		}
		libvlc_media_release(media);
	}
	libvlc_media_player_set_hwnd(vlc_player, (void*)ui->videoWidget->winId());
	libvlc_media_player_play(this->vlc_player);
}

打印输出:

"E:/Res/VideoRes/output.mp4"
media new failed: Unknown error

这个问题在于路径方面存在 / ,要解决这个问题就要使用QDir里面的一个静态成员函数:toNativeSeparators。

问题解决。

相关推荐
小奥超人33 分钟前
PPT文件中,母版视图与修改权限的区别
windows·经验分享·powerpoint·办公技巧
偷偷小野猪6 小时前
微软账户和本地账户有什么区别?如何切换登录账户?
windows·microsoft
cong*6 小时前
Flash存储器解析:从原理到应用,全面了解其与缓存的区别
windows·经验分享·其他·计算机外设
bigbearxyz6 小时前
Java实现图片的垂直方向拼接
java·windows·python
2301_776982006 小时前
由于找不到xinput1 3.dll无法继续执行重新安装程序
windows·电脑
从后端到QT6 小时前
Qt 基础组件速学 鼠标和键盘事件
c++·qt
xihaowen7 小时前
windows10/11 不小心删除卓越性能模式后再次开启卓越性能模式,显示无法创建新的电源方案 指定的电源方案、子组或设置不存在。
windows
樊家小丹丹10 小时前
基于人脸识别的考勤系统(Qt+opencv+Arm)测试报告
开发语言·人工智能·qt·opencv·计算机视觉·dlib
xiansibao10 小时前
list对象根据对象属性去重
java·windows·list
科学的发展-只不过是读大自然写的代码10 小时前
qt udp通讯应用举例
开发语言·qt·udp