使用Qt.labs.settings来存储应用的设置
2014-10-16 15:18
423 查看
我在以前的文章中,讲述了如何使用U1db及SQLite
offline storage API来存储应用的一些状态。在这篇文章中,我将介绍如何使用Qt.labs.settings来存储应用的状态。更加详细的介绍,请参阅链接。
首先,我们创建一个最简单的“App with Simple UI”模版应用,并修改文件“main.qml”如下:
记得这里我们一定要加入Qt.labs.settings。我们首先绑定myTextField的值为settings中的input。在程序退出的时候,我们通过如下的方式进行存储:
在我们的应用中,我们使用如下的方法。每当myTextField变化时,我们就存一下。这依赖于我们最终程序的需求是什么样的。
运行我们的应用,我们会发现,当我们修改myTextField中的值,并退出后。下次启动时,可以看到,上次输入的值被读取,并存放于myTextField中。
整个测试的源码在 bzr branch lp:~liu-xiao-guo/debiantrial/settingsqml
offline storage API来存储应用的一些状态。在这篇文章中,我将介绍如何使用Qt.labs.settings来存储应用的状态。更加详细的介绍,请参阅链接。
首先,我们创建一个最简单的“App with Simple UI”模版应用,并修改文件“main.qml”如下:
import QtQuick 2.0 import Ubuntu.Components 1.1 import Qt.labs.settings 1.0 /*! \brief MainView with a Label and Button elements. */ MainView { // objectName for functional testing purposes (autopilot-qt5) objectName: "mainView" // Note! applicationName needs to match the "name" field of the click manifest applicationName: "com.ubuntu.developer.liu-xiao-guo.settings" /* This property enables the application to change orientation when the device is rotated. The default is false. */ //automaticOrientation: true // Removes the old toolbar and enables new features of the new header. useDeprecatedToolbar: false width: units.gu(50) height: units.gu(75) Page { title: i18n.tr("Simple") Column { anchors.fill: parent anchors.centerIn: parent anchors.horizontalCenter: parent.center Label { text: "Please input a string below:" fontSize: "large" } TextField { id: myTextField text: settings.input placeholderText: "please input a string" onTextChanged: { settings.input = text } } Button { text: "Get category" onClicked: { console.log("settings category:" + settings.category); } } } Settings { id: settings property string input: "unknown" } Component.onDestruction: { settings.input = myTextField.text } } }
记得这里我们一定要加入Qt.labs.settings。我们首先绑定myTextField的值为settings中的input。在程序退出的时候,我们通过如下的方式进行存储:
Component.onDestruction: { settings.input = myTextField.text }
在我们的应用中,我们使用如下的方法。每当myTextField变化时,我们就存一下。这依赖于我们最终程序的需求是什么样的。
TextField { id: myTextField text: settings.input placeholderText: "please input a string" onTextChanged: { settings.input = text } }
运行我们的应用,我们会发现,当我们修改myTextField中的值,并退出后。下次启动时,可以看到,上次输入的值被读取,并存放于myTextField中。
整个测试的源码在 bzr branch lp:~liu-xiao-guo/debiantrial/settingsqml
相关文章推荐
- 使用Qt.labs.settings来存储应用的设置
- 使用SQLite offline storage API来存储应用的设置
- Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)
- QML用Qt.labs.settings实现保存用户设置
- 使用Settings Bundle为程序添加设置项(续)使用plist文件永久存储
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- 5)~Qt~Desinger小观与qmake设置与使用
- 【转】解压缩版tomcat配置及使用(环境变量设置及测试,一个简单的web应用实例)
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- 在 C# 中使用设置 -- Settings.settings
- 在Qt应用中强制使用横屏或竖屏
- qt中数据存储方法(接口)的思路应用1(thinkvd开发日志)
- 使用sp_configure 系统存储过程,设置服务器配置选项
- 使用iis设置虚拟主机(如何用同一端口ip对应不同web应用)
- 使用配置文件(.settings、.config)存储应用程序配置
- VS2010在QT中使用.ui文件所需设置
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())
- Qt中使用第三方的数据库(Sqlite)存储并读取文件本体
- SQL2000系统表、存储过程、函数的功能介绍及应用2009年01月21日 星期三 11:38虽然使用系统存储过程、系统函数与信息架构视图已经可以为我们提供了相当丰富的元数据信息,但是对于某些特殊的元数据信息,我们仍然需要直接对系统表进行查询。因为SQL
- Qt中设置widget背景颜色/图片的注意事项(使用样式表 setStyleSheet())