【问题标题】:Can't open file from path using PyQt5无法使用 PyQt5 从路径打开文件
【发布时间】:2021-06-08 12:00:07
【问题描述】:

我正在尝试使用 PyQt5 为媒体播放器编写代码。我已经学习了很多教程,但我不知道如何从计算机上的本地路径打开文件。 到目前为止,我的脚本从网站下载了一些视频,然后将其保存到我的计算机中。之后,我可以看到一个包含我下载的不同视频的列表,我想选择一个并使用路径打开它。问题出在这里:

    def openVideo(self, videoPath):
    if videoPath != '':
        self.mediaPlayer.setMedia(QMediaContent(QUrl(videoPath).path()))
        self.playButton.setEnabled(True)
        self.mediaPlayer.play()

QUrl 无法读取 str 类型变量,videoPath 是一个字符串,其中包含我选择的视频的路径。

【问题讨论】:

  • QUrl does 读取字符串,重要的是字符串的 content,但由于您没有给我们提供这些路径的示例,不可能帮你。另外,你不应该使用path()

标签: python pyqt5


【解决方案1】:

你可以使用QUrl::fromLocalFile

self.mediaPlayer.setMedia(QMediaContent(QUrl::fromLocalFile(videoPath).path()))

文档:https://doc.qt.io/qtforpython-5/PySide2/QtCore/QUrl.html#PySide2.QtCore.PySide2.QtCore.QUrl.fromLocalFile

【讨论】:

    【解决方案2】:

    您还没有描述解释器输出的错误。据我们所知,videoPath 确实可以等于''

    假设错误是您所描述的,您是否尝试过使用QUrl::fromLocalFile

    From the docs:

    返回 localFile 的 QUrl 表示,解释为本地文件。此函数接受由斜杠分隔的路径以及该平台的本机分隔符。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-06-10
      • 1970-01-01
      • 2021-01-24
      • 1970-01-01
      • 2020-01-15
      • 2018-07-03
      相关资源
      最近更新 更多