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 。