Slider
을 QML로 만들려고합니다. 슬라이더의 maximumValue
속성은 응용 프로그램의 특정 상태에 따라 달라질 수 있습니다. maximumValue
속성이 변경되면 value
속성이 maximumValue
에 있도록 슬라이더를 "재설정"하고 싶습니다. 내가 겪고있는 문제는 maximumValue
속성을 변경하면 내 value
속성이 오른쪽 속성으로 변경되지만 예를 들어 핸들을 클릭하지 않는 한 시각적으로 이전 maximumValue
속성으로 유지된다는 것입니다. 아래에서QML 슬라이더 값이 시각적으로 업데이트되지 않습니다.
import QtQuick 2.5
import QtQuick.Window 2.2
import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.2
ApplicationWindow {
visible: true
width: 640
height: 480
title: qsTr("Hello World")
property int maxVal: 1
Item {
width: 20
height: 200
Slider {
anchors.fill: parent
orientation: Qt.Vertical
maximumValue: maxVal
minimumValue: 0
value: 1
stepSize: 1.0
style: SliderStyle {
groove: Rectangle {
width: control.height
height: control.width
color: "red"
}
handle: Rectangle {
width: 20
height: 20
color: "green"
Text {
anchors.centerIn: parent
text: control.value
}
}
}
onMaximumValueChanged: value = maximumValue
}
}
Button {
anchors.right: parent.right
text: "Press Me"
onClicked: maxVal = 100
}
}
특정 단계의 스크린 샷을 볼 수 있습니다 여기에
이 문제를 재현하는 간단한 더미 코드입니다. 는 응용 프로그램이 열리면 :나는, 당신은 value
한 변화 1에서 100까지를 볼 수있는 1에서 100로 maximumValue
를 설정 "나를 눌러"버튼을 누르면하지만 시각을 때 1 개 위치에 체재 : I 슬라이더 (초록색 사각형)의 처리기 클릭하면
누구든지이 문제가 발생 했습니까?
@derM 45 행에서 문제가 무엇인지 잘 모르겠습니다. 오타를 만들었습니까? 이 문제가 없다는 것은 무엇을 의미합니까? 내 더미 코드를 실행하고 버튼을 누르면 녹색 핸들이 맨 위에 있고 100이라고 표시됩니까? 어떤 Qt 버전을 사용하고 있습니까? 나는 둘 다 시도했다. 5.6.2. 5.9.2. – Silex
나는 다음과 같이 말해야한다. 문제를 재현 할 수 없다고 생각했다. 내가 실수 한 것 같아. – derM