按要求修改了,但是出现TypeError: getSaveFileName(parent: typing.Optional[QWidget] = None, caption: str = '', directory: str = '', filter: str = '', initialFilter: str = '', options: Union[QFileDialog.Options, QFileDialog.Option] = 0): argument 1 has unexpected type 'PySide2.QtWidgets.QMainWindow'
时间: 2024-03-23 10:41:39 浏览: 184
解决Python中报错TypeError: must be str, not bytes问题
3星 · 编辑精心推荐
这个错误的意思是你调用了`getSaveFileName`函数,但是它的第一个参数应该是一个QWidget对象,而你传入了一个QMainWindow对象。你需要将QMainWindow对象转换为QWidget对象,可以使用`self`来代替QMainWindow对象。
例如,如果你的代码是这样的:
```python
file_name, _ = QFileDialog.getSaveFileName(self, "Save file", "", "Text Files (*.txt)")
```
你可以将`self`替换为`self.centralwidget`,因为`self.centralwidget`是QWidget对象。修改后的代码如下:
```python
file_name, _ = QFileDialog.getSaveFileName(self.centralwidget, "Save file", "", "Text Files (*.txt)")
```
这应该可以解决你的问题。
阅读全文