PyQt没有button.clicked.connect函数?

Rok*_*nar 6 python pyqt4

我有python 3.4的PyQt4,并且发生了这个奇怪的错误.每当我尝试调用btn.clicked.connect()时,Pycharm都会抛出此错误:

Cannot find reference "connect" in "function".
Run Code Online (Sandbox Code Playgroud)

例如:

btn = QtGui.QPushButton("Quit", self)
btn.clicked.connect(QtCore.QCoreApplication.instance().quit)
Run Code Online (Sandbox Code Playgroud)

会抛出这个错误.怎么样?我有丢失的文件吗?

iva*_*eev 4

根据PyQt4 - PyQt4 Tutorial - ZetCode 中的事件和信号

PyQt4.5 引入了一种用于处理信号和槽的新型 API。

QtCore.QObject.connect(button, QtCore.SIGNAL('clicked()'),self.onClicked)
Run Code Online (Sandbox Code Playgroud)

这是旧式 API。

button.clicked.connect(self.onClicked)
Run Code Online (Sandbox Code Playgroud)

新的风格更加遵循Python标准。

  • 呃,这里什么“有效”?Python 确实正确执行了这个,是的。但 Pycharm 及其 Python 分析仍然无法正确处理“button.clicked.connect(self.onClicked)”。该警告仍然存在,因为它无法推迟“clicked”的类型。这里有任何提示如何使这项工作有效吗? (14认同)