TypeError: descriptor 'load' for 'PySide2.QtUiTools.QUiLoader' objects doesn't apply to a 'str' object
时间: 2023-08-07 10:06:40 浏览: 91
这个错误通常是因为在使用 PySide2.QtUiTools.QUiLoader.load() 方法时,传入的参数是一个字符串而不是 QIODevice 对象。QUiLoader.load() 方法需要一个 QIODevice 对象作为参数,可以是 QFile、QBuffer、QByteArray 等。
解决方法是将字符串参数转换为 QIODevice 对象,例如:
```
from PySide2.QtUiTools import QUiLoader
from PySide2.QtCore import QFile
ui_file = "my_ui_file.ui"
file = QFile(ui_file)
file.open(QFile.ReadOnly)
loader = QUiLoader()
ui = loader.load(file)
file.close()
```
这样就可以正确加载 UI 文件了。
相关问题
TypeError: descriptor 'findChild' for 'PySide6.QtCore.QObject' objects doesn't apply to a 'str' object
这个报错是因为在代码中使用了错误的语法。具体来说,错误的地方是在使用`list.index()`方法时,没有将列表作为方法的调用者。正确的语法应该是`a.index('ad')`,其中`a`是列表对象,而不是`list`。所以正确的代码应该是`print(a.index('ad'))`。\[1\]
另外,引用\[3\]中提到的错误与你的问题无关,它是关于无标题栏窗口不能使用鼠标移动的问题的代码错误。所以这个引用与你的问题无关。
希望这个解答对你有帮助!如果还有其他问题,请随时提问。
#### 引用[.reference_title]
- *1* [已解决TypeError: descriptor ‘index‘ for ‘list‘ objects doesn‘t apply to a ‘str‘ object](https://blog.csdn.net/yuan2019035055/article/details/126890028)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [【Python】TypeError: descriptor ‘append‘ for ‘list‘ objects doesn‘t apply to a ‘str‘ object](https://blog.csdn.net/qq_42203652/article/details/125619463)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [报错TypeError: ‘PySide2.QtCore.QObject.connect‘ called with wrong argument types](https://blog.csdn.net/KeY__CZN/article/details/125953967)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
TypeError: descriptor 'open' for 'cv2.VideoCapture' objects doesn't apply to a 'str' object
这个错误是因为在使用cv2.VideoCapture函数时,传入的参数类型不正确。根据引用\[1\]和引用\[2\]的信息,可以看出,当视频文件路径包含中文字符时,会导致这个错误。解决方法是将路径转换为utf-8编码,即使用`cv2.VideoCapture(absolute_path.encode('utf-8'))`来代替`cv2.VideoCapture(absolute_path)`。这样可以确保路径的正确性。另外,根据引用\[3\]的信息,还有可能是缺少处理视频文件所需的dll文件,可以尝试将opencv文件夹中的`opencv_ffmpeg.dll`文件复制到Python文件夹目录中。这样应该能够解决这个错误。
#### 引用[.reference_title]
- *1* *2* [opencv-python中,cv2.VideoCapture(path)报错TypeError: an integer is required](https://blog.csdn.net/weixin_43249191/article/details/82805881)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [cv2.videocapture()失败,无法读取视频的解决办法](https://blog.csdn.net/weixin_43522974/article/details/90105555)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]