[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