python - 无法使用 PyQt5 从路径打开文件
问题描述
我正在尝试使用 PyQt5 为媒体播放器编写代码。我已经学习了很多教程,但我不知道如何从计算机上的本地路径打开文件。到目前为止,我的脚本从网站下载了一些视频,然后将其保存到我的计算机中。之后,我可以看到一个包含我下载的不同视频的列表,我想选择一个并使用路径打开它。问题在这里:
def openVideo(self, videoPath):
if videoPath != '':
self.mediaPlayer.setMedia(QMediaContent(QUrl(videoPath).path()))
self.playButton.setEnabled(True)
self.mediaPlayer.play()
QUrl 无法读取 str 类型变量,videoPath 是一个字符串,其中包含我选择的视频的路径。
解决方案
您还没有描述解释器输出的错误。据我们所知, videoPath 确实可以等于''
!
假设错误是您所描述的,您是否尝试过使用QUrl::fromLocalFile
?
从文档:
返回 localFile 的 QUrl 表示,解释为本地文件。此函数接受由斜杠分隔的路径以及此平台的本机分隔符。
推荐阅读
- docker-registry - Sonatype Nexus3 Docker 注册表中名称无效的存储库/映像
- c# - YAML 文件未添加到构建时的 bin\debug (.NET Core)
- python - 将列表附加到 Python 中的另一个列表的问题
- azure-devops - 如何使用 azure devops 部署打包为 .nugpk 的 azure funtion 应用程序?
- c - 静态变量未初始化为给定值
- python - 如何检查模型1具有多对多关系模型2的model1.field
- unity3d - 我应该在 Button void OnClick() 中统一放置什么参考
- python - Seaborn 教程运行没有错误,但没有出现任何图表
- c++ - 当我将 .exe 移动到另一台电脑时缺少 dll(msvcp140.dll、vcruntime140.dll 和 vcruntime140_1.dll)
- amazon-web-services - ICMP“ping”在我的 EC2 实例上不起作用,如何解决?