`
thierry.xing
  • 浏览: 669547 次
  • 性别: Icon_minigender_1
  • 来自: 北京
博客专栏
580fa9c1-4a0c-3f40-a55a-c9256ce73302
Sencha Touch中...
浏览量:0
社区版块
存档分类
最新评论

如何在qml ListModel 里国际化文字

qml 
阅读更多

翻译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 )

 

 

0
0
分享到:
评论

相关推荐

    qmlTest文字以及列表

    "qmlTest文字以及列表"这个标题暗示我们将探讨如何在QML中处理文本和列表。 在QML中,我们可以使用`Text`元素来展示静态或动态的文本内容。`Text`组件支持多种样式属性,如`font`, `color`, `align`, `wrapMode`等...

    Qt QML高仿微信

    数据模型可以是QML的ListModel,也可以是C++的QAbstractListModel,这取决于项目的复杂性和性能需求。每个联系人项可以由Repeater控件动态生成,包含头像、昵称等信息。 至于朋友圈功能,可能需要使用QML的Column或...

    TableEdit:qml TableView 表格编辑器

    TableView对应的数据model,使用Qml/ListModel,数据的创建、导入等操作,全部使用qml/js实现。 引入了JSONPath,快速访问JSON并转化到ListModel。 内容上有些汽车行业相关的文字,请忽略。 工程里面也有一些常用...

    qml TreeView

    在QML中,你可以使用`QtQuick.Models`模块中的`ListModel`来创建动态数据源。每个模型项都有一个唯一的`id`,以及一系列属性,这些属性可以在`TreeView`的列中显示。 3. **列定义** `TreeView`的列通过`columns`...

    SwipeViewTutorial-QML

    3. **delegate**:每个项的QML组件定义,它将在`SwipeView`中实例化。`delegate`属性指定此组件的代码。 4. **currentItem**:当前显示的项。你可以通过更改`currentItem.index`来改变显示的项。 5. **...

    QtQuick.Controls2实现TreeView

    2. 在`TreeView`中定义一个`model`属性,用于绑定数据模型,通常使用QML的ListModel或qmldir导入的C++模型。 3. 使用Repeater对模型中的每一项创建一个节点表示,节点可以是一个自定义的Item。 4. 在节点Item中包含...

Global site tag (gtag.js) - Google Analytics