[Interest] How to set QtQuickControls Slider to an initial value without modifying the current saved?
Nurmi J-P
jpnurmi at theqtcompany.com
Fri Oct 17 10:43:06 CEST 2014
> On 16 Oct 2014, at 17:39, Nuno Santos <nunosantos at imaginando.pt> wrote:
>
> Hi,
>
> I’m using Slider from QtQuickControls and i’m facing a problem. I initialise the value with a value saved on settings. However, when the slider is instantiated, it is triggering onValueChanged with the default min value. The setting is being correctly saved because I don’t show the slider right away. Only when the slider is show, this is happening and I see the result of the change in settings.
>
> Slider {
> width: parent.width
> height: 10
> minimumValue: 60
> maximumValue: 180
> stepSize: 1
> updateValueWhileDragging: true
> value: settings.trackWidth
> onValueChanged: {
> console.log("track width value changed: " + value)
> settings.trackWidth = value
> }
> Component.onCompleted: {
> console.log("track width on completed: " + settings.trackWidth)
> value = settings.trackWidth
> }
> }
>
> Console:
>
> qml: track width value changed: 60
> qml: track width on completed: 60
>
> Any ideas?
Hi,
How about:
import QtQuick 2.3
import QtQuick.Controls 1.2
import Qt.labs.settings 1.0
ApplicationWindow {
width: 320
height: 200
visible: true
Settings {
id: settings
property alias sliderValue: slider.value
}
GroupBox {
title: slider.value
Slider {
id: slider
stepSize: 1
minimumValue: 60
maximumValue: 180
anchors.centerIn: parent
}
}
}
http://qt-project.org/doc/qt-5/qml-qt-labs-settings-settings.html
--
J-P Nurmi
More information about the Interest
mailing list