我在函数中有以下代码:
self.playlist.currentMediaChanged.connect(lambda: self.songChanged())
它调用这个函数:
^{pr2}$打印它返回
<PyQt5.QtMultimedia.QMediaContent object at 0x109458cf8>
试图在状态栏中显示它会返回一个错误:
TypeError: showMessage(self, str, msecs: int = 0): argument 1 has unexpected type 'QMediaContent'
如何让程序返回播放列表中当前播放的文件名或歌曲标题作为字符串放入状态栏?抱歉,如果这是个愚蠢的问题,我还在学习PyQt。在
不必将计算的函数连接到信号,只需将函数的名称连接起来。
currentMediaChanged
信号返回电流QMediaContent
,然后必须使用QMediaContent
并得到QUrl
,然后如我在previous answer中所示,我们得到以下结果:关于你的错误,回溯表明:
looking at the documentation我们看到了 在
它期望在python中使用
^{pr2}$QString
或仅仅是str
来构建一个字符串:但是等一下,他们是更多的!
您知道不需要lambda函数来连接函数:
还有^{} does provide the current ^{} - docs :
这意味着您可以将您的
songChanged
-函数缩小一点:{6}你可以从文件名中得到
相关问题 更多 >
编程相关推荐