[PyQt] Problem with signal and slot arguments

Dennis Jensen djensen at pgcontrols.com
Tue Oct 29 14:17:56 GMT 2019


Your @pyqtSlot() must reflect what you are receiving -- this pyqtSlot 
says the Slot is receiving no parameters while your Signal is sending 
parameters so they are not syncing up and the Signal is ignored

I run a Discord server that is a python3-pyqt5 classroom-like 
tutoring/mentoring message server just shoot me a friend request on 
Discord (free to use software) at either `DenniO#8137` and/or 
`DeJoker#1460` if you would like to join in

On 10/29/2019 5:08 AM, s.achterop at rug.nl wrote:
> Hello list,
>
> I am porting the lowenergyscanner example from qt5/qtconnectivity to 
> PyQt5.
> This as a first step to my own BLE app. I have a few problems with it.
>
> First a problem with signals and slots.
> The C++ code snippets were:
>
>     void addDevice(const QBluetoothDeviceInfo&);
>
> ...
>
>     connect(discoveryAgent, 
> &QBluetoothDeviceDiscoveryAgent::deviceDiscovered,
>             this, &Device::addDevice);
> ...
>
> void Device::addDevice(const QBluetoothDeviceInfo &info)
> {
>     if (info.coreConfigurations() & 
> QBluetoothDeviceInfo::LowEnergyCoreConfiguration)
>         setUpdate("Last device added: " + info.name());
> }
>
> Converted to PyQt5:
>
>         self.discoveryAgent = QtBt.QBluetoothDeviceDiscoveryAgent()
> self.discoveryAgent.deviceDiscovered.connect(self.addDevice)
>
>     @pyqtSlot()
>     def addDevice(self, info):
>         if info.coreConfigurations() & 
> QtBt.QBluetoothDeviceInfo.LowEnergyCoreConfiguration:
>             self.setUpdate(f'Last device added: {info.name}')
>
> Running this gets me the following error:
>
>   TypeError: addDevice() missing 1 required positional argument: 'info'
>
> With ipython3 this seems to be a warning, with python3 the progam 
> aborts immediately.
>
> It seems that the slot is being called without the info argument, but 
> signal
>   QBluetoothDeviceDiscoveryAgent().deviceDiscovered
> does have the argument.
>
> What am I doing wrong here?
>
>   Thanks in advance,
>      Sietse
> _______________________________________________
> PyQt mailing list    PyQt at riverbankcomputing.com
> https://www.riverbankcomputing.com/mailman/listinfo/pyqt


More information about the PyQt mailing list