qml listmodel internationalization (国际化)

listmodel 进行国际化时
ListModel
{
id:listModel_2
ListElement{listModel_itemName:qsTr("NONE")}
ListElement{listModel_itemName:qsTr("PDC")}
ListElement{listModel_itemName:qsTr("CAM")}
ListElement{listModel_itemName:qsTr("PDC+CAM")}
}
调试会出现
ListElement: cannot use script for property value

解决方案:
在listmodel 中用js函数进行返回

    ListModel {
        id: listModel_2
        ListElement {}
        ListElement {}
        ListElement {}
        ListElement {}
        function listModel_itemName(index) {
                if ( listModel_itemName[ "text" ] === undefined) {
                    listModel_itemName.text = [
                        qsTr( "NONE" ) ,
                        qsTr( "PDC" ) ,
                        qsTr( "CAM" ) ,
                        qsTr( "PDC+CAM" )
                    ]
                }
                return listModel_itemName.text[index]
       }
    }

  delegate: text调用的方法:

     text : listView.model.listModel_itemName(index);

      listView为调用这个listmodel的id 。

      

原文地址:https://www.cnblogs.com/fuyanwen/p/3582603.html