Skip to main content
 首页 » 编程设计

python之PyCharm 显示 PyQt 方法的错误参数信息

2025年05月04日16webabcd

我在 GUI 方面的工作不多,但我决定从偶尔使用 PyQt4 转向 PyQt5。我的 IDE 向我发出有关某些 __init__ 函数的警告,尤其是 QWidget 和 QMainWindow。

如果您查看 IntelliSense 的参数,您会发现 parent 参数有默认值,而 flags 没有。 IDE 告诉我 flags 未填充,但当我不提供时,什么也没有发生。为什么会这样?

我正在使用 Python 3.5。

请您参考如下方法:

正确的签名是这样的:

QMainWindow(parent: QWidget = None, 
            flags: Union[Qt.WindowFlags, Qt.WindowType] = Qt.WindowFlags()) 

因此看起来您的 IDE 中的 IntelliSense 要么不知道如何正确解析类型提示,要么 PyQt stub files需要安装。只有两个参数:parent 和 flags,它们都有默认值。

(注意:你不应该将 self.__class__ 与 super 一起使用,因为在某些情况下它会导致无限递归。始终将子类作为第一个参数传递- 除非您使用的是 Python 3,在这种情况下您可以省略所有参数)。