[Solved:)]Value from one qml file to another qml file
-
I have a SLider.qml - its like a bar wit which we can slide from min value to max value say from 10 to 100 respectively.
I include this Slider.qml file in my main file as Slider { specify its parameters;like width, height, min value, max value}. Now I have a textedit field in my main.qml which should take the value of tat slider. I tried different methods like writing a common js file and getting the values but failed. I would appreciate if you could help me out of this. I am unable to proceed further. Thanks for your time.God Bless..
-
Which god would that be?
More seriously: saying "I have tried different methods" does not tell us much, and you should not expect people to guess what you have done. You need to list what you have done, provide some code for us to work on. Google for "smart questions" to get a better idea.
PLease specify what you mean by "Now I have a textedit field in my main.qml which should take the value of tat slider". You need this property to be set declaratively or imperatively? There are a dozen ways in which your problem can be fixed, I need to see how you declare things in order to give you the answer that will work for you.
-
@import QtQuick 1.1
Item{
id:slider_valueproperty alias minValue_slider :min.text property alias maxValue_slider :max.text property int g:((maxValue_slider*1)-(minValue_slider*1)) width:250 height:50 Rectangle { id: rectangle1 x: 32 y: 15 width: g+20 height: 10 color: "black" radius:5 smooth:true Rectangle { id: rectangle2 width: 20 height: 10 radius:25 color: "red" smooth:true MouseArea { anchors.fill:parent drag.target: rectangle2 drag.axis: Drag.XAxis drag.minimumX:0 drag.maximumX: g onPositionChanged: {text_input1.text=max.text-rectangle2.x } } } } TextEdit { id: text_edit1 x: 60 y: 43 width: 80 height: 20 font.pixelSize: 12 TextInput { id: text_input1 x: 11 y: 0 width: 80 height: 20 text:max.text selectedTextColor: "#cf7171" font.pixelSize: 12 } } Text { id: max x: 32 y: 37 text: "210" font.bold:true } Text { id: min x: 180 y: 37 text: "40" font.bold:true }
}
@
Sliding.qml
-
main.qml
@import QtQuick 1.1
Rectangle {
width: 250
height: 250color:"lightsteelblue" // I Want the value of Slider in value.text SlidingValue{ minValue_slider: "10" maxValue_slider: "100" } // TextInput { id: value x: 97 y: 70 width: 80 height: 20 text: qsTr("text") font.pixelSize: 12 }
}
@So, I want the value of the slider to be displayed in value.text field.
Sorry I am quite new to qml/qt my questions may be little dumb. Am just a beginner.
-
No need to be sorry about being a beginner, every one of us here has been one at some point in time, and there surely is a lot that we still don't know. The fact I was hinting at is to be mindful about the fact that a) you need help, b) we want to help you, c) it's good to make our lives easier by asking those so-called smart questions. I am not angry, I just pointed out where your post was lacking :)
The crucial part of text_input1 is missing, so I can't be absolutely sure, but so far it looks like this: in order for a property of any QML file to be visible "outside" (that is, when you include it from another file), you have to declare it in the topmost component of that file. So, in your case it would be something like this:
@
// Sliding.qml
Item {
property int sliderValue: 0 // or any other value/ binding
}// main.qml
Sliding {
id: slider
}// This is where you want to display:
Text {
text: slider.sliderValue
}
@Just a quick sketch, but should give you the idea. If it's still not clear, ask for more :D
-
Perfect!! Thanks a ton Sierdzio. I will try to be a smarter with my questions. Thanks for your advice, I will keep it in mind next time :)
-
Pleasure :) If the issue is solved for you, please prepend "[Solved]" to subject's topic.