[SailfishDevel] Dataconversion Qvariant to Qstring

Dylan Van Assche dylan.van.assche at protonmail.com
Tue Mar 15 21:52:17 UTC 2016


Hello developers,

I am having some trouble with parsing some message data from Python (with PyOtherSide) to QML.
The message data comes from the Python module Pynder (https://github.com/charliewolf/pynder) and I simply parse the data with a for-loop to QML:

Python function:


def getMessageHistory(matchNumber):

# Get the messages from a specific match

messages = matches[matchNumber].messages


# Convert to list

messages = list(messages)


# Send to QML

for i in range(int(len(messages))-1, -1, -1):


pyotherside.send('getMessageHistory', messages[i])


In QML I use a small handler to receive all the data:

setHandler('getMessageHistory', function(messageHistory) {
messagesModel.append({text: messageHistory});
loadingMessages.visible = false;
messagesList.visible = true;
});

QML console:


[D] onReceived:313 - got message from python: getMessageHistory,QVariant(PyObjectRef)


[D] onReceived:313 - got message from python: getMessageHistory,QVariant(PyObjectRef)


[W] unknown:118 - file:///opt/sdk/Sailfinder/usr/share/Sailfinder/qml/pages/MessagesPage.qml:118:31: Unable to assign QVariantMap to QString


[W] unknown:118 - file:///opt/sdk/Sailfinder/usr/share/Sailfinder/qml/pages/MessagesPage.qml:118:31: Unable to assign QVariantMap to QString


[D] onReceived:313 - got message from python: getMessageHistory,QVariant(PyObjectRef)


[D] onReceived:313 - got message from python: getMessageHistory,QVariant(PyObjectRef)


[D] onReceived:313 - got message from python: getMessageHistory,QVariant(PyObjectRef)


[W] unknown:118 - file:///opt/sdk/Sailfinder/usr/share/Sailfinder/qml/pages/MessagesPage.qml:118:31: Unable to assign QVariantMap to QString


[W] unknown:118 - file:///opt/sdk/Sailfinder/usr/share/Sailfinder/qml/pages/MessagesPage.qml:118:31: Unable to assign QVariantMap to QString


[W] unknown:118 - file:///opt/sdk/Sailfinder/usr/share/Sailfinder/qml/pages/MessagesPage.qml:118:31: Unable to assign QVariantMap to QString


The problem is a data conversion between the data from Python and QML. I tried to send the data as a string from the Python side and searched on the Internet after some information about QvariantMap.
I also tried to send a string instead of the message data and that works fine. I saw that QvariantMap has a method: .toString() however I couldn't manage it to use it correctly. If necessary I can share my whole project but it's larger then 512kb so I can't send it through the mailing list.

Someone who can help?

Regards,
Dylan Van Assche
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.sailfishos.org/pipermail/devel/attachments/20160315/cc70ec2e/attachment.html>


More information about the Devel mailing list