在写一个语音到文字的GUI程序时,代码片段如下:
def soundToText(self):
# 识别本地文件
filename = QFileDialog.getOpenFileName(self,"打开音频文件","")
rs = client.asr(self.get_file_content(filename[0]), 'wav', 16000, {'dev_pid': 1737})
self.ui.showText.setPlainText(str(rs['result']))
调用对话框的语句出现如下错误:
FIXME Subscripted generics cannot be used with class and instance checks
Traceback (most recent call last):
File “D:\testPyGui\gui_exercise.py”, line 27, in soundToText
filename = QFileDialog.getOpenFileName(self,“打开音频文件”,"")
TypeError: ‘PySide2.QtWidgets.QFileDialog.getOpenFileName’ called with wrong argument types:
PySide2.QtWidgets.QFileDialog.getOpenFileName(AppS, str, str)
Supported signatures:
PySide2.QtWidgets.QFileDialog.getOpenFileName(typing.Union[PySide2.QtWidgets.QWidget, NoneType] = None, str = ‘’, str = ‘’, str = ‘’, PySide2.QtWidgets.QFileDialog.Options = Default(QFileDialog.Options))
解决办法是:
将语句QFileDialog.getOpenFileName(self,“打开音频文件”,"")中self改成self.ui
顶层容器即可。