[PyQt] How to create an array of non-var struct with PyQt + QDBus?
Xinkai
yeled.nova at gmail.com
Sun Oct 26 22:05:20 GMT 2014
Hi,
I am stuck with trying to create a QDBusMessage with an array of struct,
something like "a(ii)". I tried the following on Python 3.4.2 + PyQt 5.3.2:
@pyqtSlot(QDBusMessage)
def process(self, msg):
# Attempt 1
a1 = QDBusArgument()
a1.add(1, QMetaType.Int)
a1.add(2, QMetaType.Int)
a2 = QDBusArgument()
a2.add(1, QMetaType.Int)
a2.add(2, QMetaType.Int)
reply = msg.createReply([
[a1, a2],
])
# Result: the signature is "av", not "a(ii)"
# Attempt 2
args = QDBusArgument()
args.beginArray(??)
args.endArray()
# Result: No way to register a custom QMetaType. I understand there
might be a Qt type that happens to be int/int, but I am looking for a
more generic way to do this. I am actually dealing with something more
complex than "a(ii)".
Is there any way to do this? Or I hit the limitation of PyQt's QDBus, if
so, any suggestions?
Thanks in advance,
Xinkai
More information about the PyQt
mailing list