翻译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
)
分享到:
相关推荐
在本示例中,我们探讨的是C++与QML之间的交互,特别关注如何从C++向QML传递数据,特别是一个`ListModel`类型的列表。QML是Qt框架的一部分,用于构建用户界面,而C++则提供了更底层的编程功能。在实际应用中,这种...
在文字跑马灯中,我们可以创建一个序列动画,包含多个动画步骤来实现文本的滚动。 3. **PropertyAnimation**: `PropertyAnimation`用于改变QML对象的特定属性值。在这个案例中,我们可能需要改变`Text`组件的`x`或`...
本教程将深入探讨如何在QML中实现国际化,特别是中文与英文之间的转换。 首先,理解Qt的国际化机制。Qt使用`.qm`文件来存储翻译,这是一种二进制格式,由`lupdate`工具从源代码中提取字符串,然后使用`lrelease`...
在本主题中,我们将深入探讨如何使用QML实现JSON数据的可视化,帮助开发者更直观地理解和操作JSON数据。 首先,我们需要了解QML的基本概念。QML是一种声明式的语言,它的主要目的是定义用户界面和交互逻辑。通过...
**QSqlQueryModel模型在QML的ListView中的应用** 在Qt框架中,QSqlQueryModel是用于处理SQL查询结果的一种模型,它与QTableView、QListView等视图组件结合,可以方便地展示和操作数据库数据。当我们需要在QML界面中...
在QML中实现阴影字体效果是一项常见的视觉设计任务,它能为文本添加额外的维度,使其在界面上显得更加生动和吸引人。QML(Qt Meta Language)是Qt框架的一部分,用于创建丰富的用户界面,特别是在桌面应用和嵌入式...
本篇主要介绍如何在QML中实现国际化,以中文为例,帮助开发者了解如何让QML代码中的字符串显示为中文。 首先,在Qt项目的`pro`文件中进行必要的配置。`CONFIG += localize_deployment`允许添加应用程序的本地化信息...
使用Singleton可以避免在Qml代码中多次实例化相同的对象,从而保持数据的一致性和优化性能。以下是如何在Qml中定义和使用Singleton的步骤: 1. **定义Singleton对象**: 首先,你需要在C++中创建一个QML类型,并...
在Qt框架中,QML(Qt Quick)是一种强大的声明式用户界面设计语言,它允许开发者以灵活、高效的方式创建美观的动态UI。然而,有时我们可能需要在QML中使用C++实现的复杂功能,这时就可以引入QWidget控件。本文将深入...
"qmlTest文字以及列表"这个标题暗示我们将探讨如何在QML中处理文本和列表。 在QML中,我们可以使用`Text`元素来展示静态或动态的文本内容。`Text`组件支持多种样式属性,如`font`, `color`, `align`, `wrapMode`等...
在CMake、Qt和Qml的环境中,将C++与Qml进行集成是常见的开发实践,这使得可以利用Qml的声明式UI设计和C++的高性能后端处理能力。本话题将深入探讨如何在CMake项目中使用Qt库加载和访问Qml中的控件,同时介绍两种成功...
在QML(Qt Meta Language)中,模型是数据驱动编程的核心元素,它允许开发者将数据绑定到用户界面组件,实现数据的动态更新和可视化。QML的模型与视图(View)和控制器(Delegate)机制相结合,使得创建复杂的、响应...
在QML(Qt Meta Language)中,`TreeView`是一个强大的组件,用于展示层次结构的数据。它在用户界面上提供了一种可滚动、可选择的列表形式,非常适合展示目录结构、组织架构或者文件系统等信息。在本教程中,我们将...
在Qml中显示FFmpeg解码视频是一项技术性较强的任务,涉及到多媒体处理、跨平台开发以及用户界面设计。FFmpeg是一个强大的开源库,用于处理音频和视频,包括编码、解码、转码、流处理等功能。Qml是Qt框架的一部分,...
5. **国际化**:对于多语言应用,QML支持使用`qsTr`函数和翻译文件来实现文本的国际化。 6. **文本测量**:通过`TextMetrics`对象,开发者可以测量文本的宽度和高度,这对于布局计算和自适应设计非常有用。 7. **...
QmlBook展示了如何使用ListModel,Repeater,以及Delegate来显示和操作数据。 7. **深度集成C++** 虽然QML是声明式的,但与C++的深度集成是Qt的一大特色。QmlBook会指导你如何通过QQmlContext和QQmlEngine将C++...
主要涉及在qml中ListView显示,使用了ListModel、ObjectModel、QStringList、QList*>、QAbstractListModel作为数据模型,其中使用ObjectModel能省去delegate.
在本文中,我们将深入探讨如何使用Qt QML的ChartView组件来创建动态数据曲线图的示例。Qt是一个跨平台的应用程序开发框架,而QML是Qt中的一个声明性语言,用于构建用户界面。ChartView是Qt Quick Controls 2的一部分...
9. **国际化和本地化**:QML提供了方便的国际化支持,可以轻松地切换不同语言的界面。 通过阅读《QmlBook-In-Chinese》,读者将能够学习到如何使用QML设计和实现优雅的用户界面,包括布局管理、组件设计、数据绑定...