TypeError 表明传递给 QFileDialog.getOpenFileName 方法的第一个参数类型不正确。PyQt5 期望该参数是一个 QWidget 类型的对象,用于作为对话框的父窗口部件。
在你的代码中,错误可能是由于 self 被误传递为 detectui,这通常是因为在代码中有一些混淆或者错误的调用导致的。通常这种情况发生在复制粘贴代码时可能出现了错误。
为了纠正这个问题,请确保在调用 getOpenFileName 方法时,将当前窗口(即 self)正确传递给它。这样 PyQt5 才能正确识别和管理对话框的生命周期。其实可以将该类的参数改为QWidget 的对象。这样就可以了