按要求修改了,但是出现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 18:41:39 浏览: 56
这个错误的意思是你调用了`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)")
```
这应该可以解决你的问题。
相关问题
file_path, _ = QFileDialog.getSaveFileName(self.ui.centralwidget, "Save file", "", "Text Files (*.txt)") 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.QWidget' 进程已结束,退出代码为 0 怎么办
你需要将`getSaveFileName`函数的第一个参数改为`self.ui.centralwidget`,而不是`self.ui`或`self.ui.centralwidget`。
可以尝试以下代码:
```python
file_path, _ = QFileDialog.getSaveFileName(self.ui.centralwidget, "Save file", "", "Text Files (*.txt)")
```
如果这样还是不行,你可以尝试将第一个参数改为`self`,就像这样:
```python
file_path, _ = QFileDialog.getSaveFileName(self, "Save file", "", "Text Files (*.txt)")
```
这应该可以解决你的问题。
TypeError: QTimer(parent: typing.Optional[QObject] = None): argument 1 has unexpected type 'Window'
这个错误是由于你在创建 `QTimer` 对象时将一个 `Window` 对象传递给了它的 `parent` 参数,但是 `QTimer` 的 `parent` 参数需要的类型是 `QObject`。因此,你需要将 `parent` 参数设置为 `None` 或者传递一个正确类型的 `QObject` 对象。
你可以尝试以下解决方法:
1. 将 `parent` 参数设置为 `None`:
```
timer = QTimer(None)
```
2. 将 `parent` 参数设置为合适的 `QObject` 对象,例如:
```
parent_obj = QObject()
timer = QTimer(parent_obj)
```
这样就可以解决这个错误了。