翻译qml里的文字是,一般使用的 qsTr(),
但是如果在ListModel
里用,
比如:
ListModel {
ListElement { title: qsTr( "Calendar" ) ; iconSource: "icons/calendar.png" }
则会报错
ListElement: cannot use script for property value
解决方案:
import QtQuick 1.0
ListModel {
ListElement { iconSource: "icons/calendar.png" }
ListElement { iconSource: "icons/develop.png" }
ListElement { iconSource: "icons/globe.png" }
ListElement { iconSource: "icons/mail.png" }
ListElement { iconSource: "icons/music.png" }
ListElement { iconSource: "icons/phone.png" }
function title( index) {
if ( title[ "text" ] === undefined) {
title.text = [
qsTr( "Calendar" ) ,
qsTr( "Setup" ) ,
qsTr( "Internet" ) ,
qsTr( "Messages" ) ,
qsTr( "Music" ) ,
qsTr( "Call" )
]
}
return title.text [ index]
}
}
然后在listview里设置
text:
view.model
.title
(
view.currentIndex
)
分享到:
相关推荐
"qmlTest文字以及列表"这个标题暗示我们将探讨如何在QML中处理文本和列表。 在QML中,我们可以使用`Text`元素来展示静态或动态的文本内容。`Text`组件支持多种样式属性,如`font`, `color`, `align`, `wrapMode`等...
数据模型可以是QML的ListModel,也可以是C++的QAbstractListModel,这取决于项目的复杂性和性能需求。每个联系人项可以由Repeater控件动态生成,包含头像、昵称等信息。 至于朋友圈功能,可能需要使用QML的Column或...
TableView对应的数据model,使用Qml/ListModel,数据的创建、导入等操作,全部使用qml/js实现。 引入了JSONPath,快速访问JSON并转化到ListModel。 内容上有些汽车行业相关的文字,请忽略。 工程里面也有一些常用...
在QML中,你可以使用`QtQuick.Models`模块中的`ListModel`来创建动态数据源。每个模型项都有一个唯一的`id`,以及一系列属性,这些属性可以在`TreeView`的列中显示。 3. **列定义** `TreeView`的列通过`columns`...
3. **delegate**:每个项的QML组件定义,它将在`SwipeView`中实例化。`delegate`属性指定此组件的代码。 4. **currentItem**:当前显示的项。你可以通过更改`currentItem.index`来改变显示的项。 5. **...
2. 在`TreeView`中定义一个`model`属性,用于绑定数据模型,通常使用QML的ListModel或qmldir导入的C++模型。 3. 使用Repeater对模型中的每一项创建一个节点表示,节点可以是一个自定义的Item。 4. 在节点Item中包含...