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 。