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。

问题解决。

相关推荐
我是小灰灰吖2 分钟前
Ubuntu 22.04 安装 SSH 服务与远程调试环境配置指南
qt·ubuntu·ssh
雨田言炎3 小时前
四、关于Qt项目需要知道的
开发语言·笔记·qt
在世修行6 小时前
Windows 上 Docker Desktop 部署 MySQL + TDengine 全过程(含 WSL 报错与镜像加速排障实战)
windows·mysql·docker·tdengine
必须得开心呀7 小时前
qt生成dump文件并定位异常
开发语言·qt
Richard.Wong9 小时前
Windows IIS 服务器部署 Vue3 前端项目详细流程
服务器·前端·windows
Quz13 小时前
QML ProgressBar 自定义样式:自绘组件、Material风格
qt
Quz13 小时前
QML 环形进度条:Canvas 绘制与多环进度
qt
wyg_03111314 小时前
Intel Arc 140T + Triton(Windows)环境搭建全过程记录
windows
程序猿小玉兒14 小时前
Quartz定时任务偶尔不执行
服务器·windows·microsoft
熬夜苦读学习1 天前
Qt--网络编程
开发语言·qt