`
thierry.xing
  • 浏览: 666295 次
  • 性别: 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
分享到:
评论

相关推荐

    一个关于C++与qml交互的demo :从C++传输一个listmode的方法。

    在本示例中,我们探讨的是C++与QML之间的交互,特别关注如何从C++向QML传递数据,特别是一个`ListModel`类型的列表。QML是Qt框架的一部分,用于构建用户界面,而C++则提供了更底层的编程功能。在实际应用中,这种...

    qml做的文字跑马灯

    在文字跑马灯中,我们可以创建一个序列动画,包含多个动画步骤来实现文本的滚动。 3. **PropertyAnimation**: `PropertyAnimation`用于改变QML对象的特定属性值。在这个案例中,我们可能需要改变`Text`组件的`x`或`...

    qml 国际化中文英文转化

    本教程将深入探讨如何在QML中实现国际化,特别是中文与英文之间的转换。 首先,理解Qt的国际化机制。Qt使用`.qm`文件来存储翻译,这是一种二进制格式,由`lupdate`工具从源代码中提取字符串,然后使用`lrelease`...

    qml 实现Json可视化,头脑风暴

    在本主题中,我们将深入探讨如何使用QML实现JSON数据的可视化,帮助开发者更直观地理解和操作JSON数据。 首先,我们需要了解QML的基本概念。QML是一种声明式的语言,它的主要目的是定义用户界面和交互逻辑。通过...

    QSqlQueryModel模型在QML的ListView

    **QSqlQueryModel模型在QML的ListView中的应用** 在Qt框架中,QSqlQueryModel是用于处理SQL查询结果的一种模型,它与QTableView、QListView等视图组件结合,可以方便地展示和操作数据库数据。当我们需要在QML界面中...

    QML实现阴影字体效果

    在QML中实现阴影字体效果是一项常见的视觉设计任务,它能为文本添加额外的维度,使其在界面上显得更加生动和吸引人。QML(Qt Meta Language)是Qt框架的一部分,用于创建丰富的用户界面,特别是在桌面应用和嵌入式...

    课题-QML基础-QML国际化(中文示例).pdf

    本篇主要介绍如何在QML中实现国际化,以中文为例,帮助开发者了解如何让QML代码中的字符串显示为中文。 首先,在Qt项目的`pro`文件中进行必要的配置。`CONFIG += localize_deployment`允许添加应用程序的本地化信息...

    Qt qml Singleton 单例模式

    使用Singleton可以避免在Qml代码中多次实例化相同的对象,从而保持数据的一致性和优化性能。以下是如何在Qml中定义和使用Singleton的步骤: 1. **定义Singleton对象**: 首先,你需要在C++中创建一个QML类型,并...

    QWidget控件在QML中使用 控件

    在Qt框架中,QML(Qt Quick)是一种强大的声明式用户界面设计语言,它允许开发者以灵活、高效的方式创建美观的动态UI。然而,有时我们可能需要在QML中使用C++实现的复杂功能,这时就可以引入QWidget控件。本文将深入...

    qmlTest文字以及列表

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

    在CMake Qt Qml环境中,用c++加载和访问Qml里面的控件

    在CMake、Qt和Qml的环境中,将C++与Qml进行集成是常见的开发实践,这使得可以利用Qml的声明式UI设计和C++的高性能后端处理能力。本话题将深入探讨如何在CMake项目中使用Qt库加载和访问Qml中的控件,同时介绍两种成功...

    QML常见模型使用源码

    在QML(Qt Meta Language)中,模型是数据驱动编程的核心元素,它允许开发者将数据绑定到用户界面组件,实现数据的动态更新和可视化。QML的模型与视图(View)和控制器(Delegate)机制相结合,使得创建复杂的、响应...

    qml中treeview用法

    在QML(Qt Meta Language)中,`TreeView`是一个强大的组件,用于展示层次结构的数据。它在用户界面上提供了一种可滚动、可选择的列表形式,非常适合展示目录结构、组织架构或者文件系统等信息。在本教程中,我们将...

    在Qml中显示FFmpeg解码视频

    在Qml中显示FFmpeg解码视频是一项技术性较强的任务,涉及到多媒体处理、跨平台开发以及用户界面设计。FFmpeg是一个强大的开源库,用于处理音频和视频,包括编码、解码、转码、流处理等功能。Qml是Qt框架的一部分,...

    QmlCanvas文字QmlCanvasText.7z

    5. **国际化**:对于多语言应用,QML支持使用`qsTr`函数和翻译文件来实现文本的国际化。 6. **文本测量**:通过`TextMetrics`对象,开发者可以测量文本的宽度和高度,这对于布局计算和自适应设计非常有用。 7. **...

    QmlBook - Qml Book源码

    QmlBook展示了如何使用ListModel,Repeater,以及Delegate来显示和操作数据。 7. **深度集成C++** 虽然QML是声明式的,但与C++的深度集成是Qt的一大特色。QmlBook会指导你如何通过QQmlContext和QQmlEngine将C++...

    QML中LIstView的几种数据模型

    主要涉及在qml中ListView显示,使用了ListModel、ObjectModel、QStringList、QList*>、QAbstractListModel作为数据模型,其中使用ObjectModel能省去delegate.

    Qt qml ChartView demo 动态数据曲线图显示

    在本文中,我们将深入探讨如何使用Qt QML的ChartView组件来创建动态数据曲线图的示例。Qt是一个跨平台的应用程序开发框架,而QML是Qt中的一个声明性语言,用于构建用户界面。ChartView是Qt Quick Controls 2的一部分...

    qml + opencv,实现qml播放打开usb及网络摄像头

    在IT领域,特别是软件开发,将Qt的QML与OpenCV结合使用是一种常见的技术实践,尤其是在处理图形用户界面(GUI)以及计算机视觉任务时。QML是Qt框架的一部分,用于构建现代、动态且互动的用户界面,而OpenCV则是一个...

Global site tag (gtag.js) - Google Analytics