[Interest] QML Set data from a different model role
NoRulez
norulez at me.com
Mon May 9 17:12:52 CEST 2016
This works when I use a number (256 for Qt::UserRole) but not with an enum name
> Am 09.05.2016 um 16:47 schrieb Nikita Krupenko <krnekit at gmail.com>:
>
> 2016-05-09 17:32 GMT+03:00 NoRulez <norulez at me.com>:
>> I have a QStandardItemModel
>>
>> I also to overload the roleNames() function but then i get the error that "Role2" isn't defined.
>>
>>
>>
>>> Am 09.05.2016 um 15:50 schrieb Nikita Krupenko <krnekit at gmail.com>:
>>>
>>> 2016-05-09 9:19 GMT+03:00 NoRulez <norulez at me.com>:
>>>> Hi,
>>>>
>>>> I want do show data in a combobox in QML and after a selection in the combo box is made I want the data but from a different role.
>>>>
>>>> In QML I have the following:
>>>>
>>>> ComboBox {
>>>> model: MyModel
>>>> textRole: "Role1"
>>>> onCurrentTextChanged: {
>>>> MyLineEdit.text = ?????? // Here I want the text from "Role2"
>>>> }
>>>> }
>>>>
>>>> MyLineEdit is a QML LineEdit
>>>> The text for "Role1" works already.
>>>> Could anybody please give me a help
>>>>
>>>> Thanks
>>>> _______________________________________________
>>>> Interest mailing list
>>>> Interest at qt-project.org
>>>> http://lists.qt-project.org/mailman/listinfo/interest
>>>
>>> AFAIK, you have ho access to model data in ComboBox. But, you can get
>>> it directly from model, like:
>>>
>>> MyLineEdit.text = MyModel.get(currentIndex)["Role2"]
>>>
>>> if you use ListModel, or some similar way if you have different model.
>
> So, you need to use data() method. But you need to pass here
> QModelIndex, which you could get only from DelegateModel, which not
> used here :) I think, you can add to your model method, that return
> data by an integer index and use it here.
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
More information about the Interest
mailing list