我能够保存使用Component.onComponent方法静态创建的列表项的设置。但是静态创建的列表项的设置在重新打开应用程序后生效。我想保存动态创建的列表模型的设置。我无法保存动态创建的列表项的设置。下面的代码会在单击“显示/隐藏”操作时打开和关闭列表项。当我重新打开应用程序时,创建的列表项消失了。如何使用设置保存列表项?
import QtQuick 2.9
import Fluid.Controls 1.0
import Qt.labs.settings 1.0
import QtQuick.Controls 1.4
ApplicationWindow {
id:root
visible: true
width: 640
height: 480
property variant addlist
property int countt2: 0
Settings{
id:mysetting4
property alias ekranCosinus: root.countt2
}
function listonoff(){
if(countt2%2==1){
return true
}
else if(countt2%2==0){
return false
}
}
Connections {
target: addlist
onTriggered: listonoff()
}
addlist: favourite2
/* main.qml */
menuBar: MenuBar {
Menu {
title: "&Edit"
MenuItem { action: favourite2 }
}
}
Action {
id:favourite2
text: …Run Code Online (Sandbox Code Playgroud) 我正在使用 OSM 和 QML 应用程序的地图插件。我map.activeMapType = map.supportedMapTypes[currentIndex]在 ComboBox 中使用来在地图区域上显示地图提供程序支持的地图类型。这里地图插件使用"here.app_id"和"here.token"参数。但对于 OSM 插件,地形、交通和除街道地图图块之外的其他图块显示“需要 API 密钥”。我从Thunderforest.com获得了 API 密钥。使用该参数时,仍然显示“需要 API Key”:
ComboBox {
id: selectmap
width: parent.width
model:map.supportedMapTypes
textRole:"description"
onCurrentIndexChanged:{
map.activeMapType = map.supportedMapTypes[currentIndex]
}
}
Plugin {
id: pluginOSM
name: "osm"
PluginParameter {
name: "osm.mapping.providersrepository.address";
// name: "osm.geocoding.host"; (also didn't work)
value: "https://tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey=<my_api_key>" }
}
Run Code Online (Sandbox Code Playgroud)
我还从http://maps-redirect.qt.io/osm/5.8/站点下载了地形文件参数,以便与 qrc 一起使用,如下所示:
import QtQuick 2.6
import QtQuick.Controls 2.0
import QtLocation 5.12
import QtPositioning 5.12
ApplicationWindow{
id: root
width: …Run Code Online (Sandbox Code Playgroud)