[PyQt] How to call DBus method with UInt32 arg?
Phil Thompson
phil at riverbankcomputing.com
Thu Dec 13 06:58:24 GMT 2012
On Thu, 13 Dec 2012 06:47:50 +0000, Phil Thompson
<phil at riverbankcomputing.com> wrote:
> On Mon, 10 Dec 2012 13:41:36 -0500, Evade Flow <evadeflow at gmail.com>
> wrote:
>> Hi, all. Does anyone have experience trying to pass UInt32 arguments to
>> a DBus service using PyQt4.QtDBus? The program appended below
generates
>> the following error:
>>
>> % python build_connection.py 0 0 0 1234
>> Call failed: No such method 'buildConnection' in interface
>> 'com.acme.Audio.Connection' at object path
>> '/com/acme/Audio/Connection' (signature '(i)(i)(i)i')
>>
>> I think it's failing because the actual signature of the method to be
>> called is '(i)(i)(i)u' [??] (Don't ask why the designers of this
>> interface wrapped a DBus struct around every int--I have no idea. `:-@)
>>
>> Can anyone confirm whether passing unsigned 32-bit arguments is
possible
>> with my version of PyQt4/SIP:
>
> Unfortunately not. If this is the real cause of the problem then I need
to
> provide a way to do this...
Does this fix the problem...
v = QVariant(10)
v.convert(QVariant.UInt)
This should be Ok for QVariant API 1, but not for API 2.
Phil
More information about the PyQt
mailing list