Xor*_*gon 3 python qt callable pyqt4 slots
环境
我使用Python 3.4运行Anaconda环境.我使用PyCharm作为我的IDE.
目标
我正在尝试将pyQt4 QPushButton连接到自定义函数:
button.clicked().connect([method reference or whatever])
Run Code Online (Sandbox Code Playgroud)
尝试
我尝试过使用pyqtSlot()装饰器,但是当我运行代码时它会抛出:
NameError: name 'pyqtSlot' is not defined
Run Code Online (Sandbox Code Playgroud)
我使用了以下导入,其中应包含该装饰器:
from PyQt4 import QtCore, QtGui
Run Code Online (Sandbox Code Playgroud)
我还尝试将我的方法更改为包含调用方法的自己的可调用类.
我正在进行各种尝试的一般错误消息是:
TypeError: native Qt signal is not callable
Run Code Online (Sandbox Code Playgroud)
问题
老实说,在这一点上,我几乎不知道该去哪里或者你可能需要哪些细节来诊断问题.谁能让我知道如何把它放在一起?
pyqtSlot()应从以下地址进口PyQt4.QtCore:
from PyQt4.QtCore import pyqtSlot
Run Code Online (Sandbox Code Playgroud)
它也可以用作@QtCore.pyqtSlot()你已经导入的QtCore.
您有错误消息,TypeError: native Qt signal is not callable因为插槽clicked应连接没有括号:
button.clicked.connect([method reference or whatever])
Run Code Online (Sandbox Code Playgroud)
您可以从PyQt4包中可以找到的简单示例开始,例如examples/widgets/tetrix.py:
startButton = QtGui.QPushButton("&Start")
startButton.clicked.connect(self.board.start)
Run Code Online (Sandbox Code Playgroud)