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。

问题解决。

相关推荐
Quz37 分钟前
QML Loader:从文件加载组件、加载内联组件
qt
Quz44 分钟前
QML Loader: 状态监听与动态标签页
qt
运维全栈笔记1 小时前
Windows 安装 WSL2 并运行 Ubuntu 24.04 指南
linux·网络·windows·ubuntu
似水এ᭄往昔1 小时前
【Qt】--常用控件(显示类控件)
开发语言·qt
我命由我123453 小时前
Windows 操作系统 - 启用 D 盘虚拟内存
java·运维·服务器·windows·学习·java-ee·运维开发
Beyond_System|系统之外4 小时前
Windows 10/11 安装与配置 Zig 0.13.0:从下载到编译验证的完整教程
windows·编译工具
2601_962381585 小时前
Mac和Windows,哪种电脑适合新手学Python|数智码力分享
windows·python·mac·编程环境·学习入门
慧都小项5 小时前
从 Figma 到 Qt:Qtitan 能减少哪些界面还原工作?
前端·qt·嵌入式·figma·图形界面·工业界面·qtitan
会飞的拖把6 小时前
Python序列详解:列表、元组、字符串的通用操作(超详细版)
开发语言·windows·python
用户122003879006 小时前
Qt学习之绘图入门练习
qt