cha*_*rge 3 python pyqt pyqt5 qtmultimedia
假设我使用文件对话框在 PyQt5 应用程序中打开了一个名为 file1.mp3 的文件,并将其分配给这样的变量:
song = QFileDialog.getOpenFileName(self, "Open Song", "~", "Sound Files (*.mp3 *.ogg *.wav *.m4a)")
print(song[0])
url = QUrl.fromLocalFile(song[0])
self.playlist.addMedia(QMediaContent(url))
Run Code Online (Sandbox Code Playgroud)
如何获取文件名而不是文件路径,以便我可以在状态栏中显示它?或者更好的是,是否有我可以使用或创建的类似“正在播放”的功能?
有几种简单的方法可以获取文件名:
QUrl:song, _ = QFileDialog.getOpenFileName(self, "Open Song", "~", "Sound Files (*.mp3 *.ogg *.wav *.m4a)")
print(song)
url = QUrl.fromLocalFile(song)
self.playlist.addMedia(QMediaContent(url))
your_statusbar.showMessage("now playing {}".format(url.fileName()))
Run Code Online (Sandbox Code Playgroud)
QFileInfo:song, _ = QFileDialog.getOpenFileName(self, "Open Song", "~", "Sound Files (*.mp3 *.ogg *.wav *.m4a)")
print(song)
url = QUrl.fromLocalFile(song)
self.playlist.addMedia(QMediaContent(url))
filename = QFileInfo(song).fileName()
your_statusbar.showMessage("now playing {}".format(filename))
Run Code Online (Sandbox Code Playgroud)
pathlib:song, _ = QFileDialog.getOpenFileName(self, "Open Song", "~", "Sound Files (*.mp3 *.ogg *.wav *.m4a)")
print(song)
url = QUrl.fromLocalFile(song)
self.playlist.addMedia(QMediaContent(url))
from pathlib import Path
filename = Path(song).name
your_statusbar.showMessage("now playing {}".format(filename))
Run Code Online (Sandbox Code Playgroud)
os:song, _ = QFileDialog.getOpenFileName(self, "Open Song", "~", "Sound Files (*.mp3 *.ogg *.wav *.m4a)")
print(song)
url = QUrl.fromLocalFile(song)
self.playlist.addMedia(QMediaContent(url))
import os
filename = song.rstrip(os.sep)
your_statusbar.showMessage("now playing {}".format(filename))
Run Code Online (Sandbox Code Playgroud)
或者:
song, _ = QFileDialog.getOpenFileName(self, "Open Song", "~", "Sound Files (*.mp3 *.ogg *.wav *.m4a)")
print(song)
url = QUrl.fromLocalFile(song)
self.playlist.addMedia(QMediaContent(url))
import os
_ , filename = os.path.split(os.sep)
your_statusbar.showMessage("now playing {}".format(filename))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8853 次 |
| 最近记录: |