import QtQuick.Layouts 1.1 import QtQuick.Controls 2.0 RowLayout { property int value property string role signal sliderValueChanged(string role, int value) onRoleChanged: sliderName.text = role onValueChanged: { sliderValue.text = value + " %" sliderControl.value = value; } Layout.minimumHeight: 75 Label { id: sliderName font.pixelSize: 24 text: role Layout.minimumWidth: 150 } Label { id: sliderValue font.pixelSize: 24 text: "0 %" } Slider { id: sliderControl Layout.fillWidth: true from: 0 to: 100 stepSize: 1 snapMode: Slider.SnapOnRelease onValueChanged: { sliderValue.text = value + " %"; sliderValueChanged(role, value); } } }