So I have a need to pass around a numpy array in my PyQt Application. I first tried using the new-style signals/slots, defining my signal with:
newChunkToProcess = pyqtSignal(np.array()), however this gives the error:
TypeError: Required argument ‘object’ (pos 1) not found
I have worked out how to do this with the old-style signals and slots using
self.emit(SIGNAL("newChunkToProcess(PyQt_PyObject)"), np.array([5,1,2])) – (yes, that’s just testing data :), but I was wondering, is it possible to do this using the new-style system?
The type you’re looking for is np.ndarray
You can tell this from the following code:
So your signal should look more like:
(Notice I’m passing the type np.ndarray, rather than an array instance as you tried).
If you don’t want to worry about the type of the argument, you could instead use:
This should let you send any data type at all through the signal.
Also: numpy and Qt do not share any major functionality that I know of. In fact, the two are quite complementary and make a very powerful combination.