У меня возникла конкретная проблема, когда я нажимаю на текст в середине SpinBox
, и он получает фокус, но после этого я перехожу к другому SpinBox
и нажимаю -
или +
Когда я делаю это, я хочу перевести фокус с последнего SpinBox
на новое, чтобы это значение было принято.
В качестве примера, давайте предположим, что я нажимаю на верхний SpinBox:
Теперь я нажимаю кнопку +
внизу SpinBox
, делая это, я хочу сфокусироваться на этом дне SpinBox
Я предоставляю код main.qml
ниже:
import QtQuick 2.9
import QtQuick.Controls 1.4
import QtQuick.Controls 2.0
import QtQuick.Layouts 1.3
import QtQuick.Controls.Styles 1.4
ApplicationWindow {
id: window
title: "Stack"
visible: true
height: 200
width: 400
ListModel {
id: libraryModel
ListElement {
text: "A Masterpiece"
}
ListElement {
text: "Brilliance"
}
ListElement {
text: "Outstanding"
}
}
Item {
id: page
anchors.fill: parent
width:parent.width
height: parent.height
ScrollView {
id:scrollView
anchors.fill:parent
style: ScrollViewStyle{
handle: Rectangle {
implicitWidth: 30
color: "black"
}
scrollToClickedPosition: true
transientScrollBars:true
}
function scrollToY(y) {
scrollView.contentItem.contentY = y;
}
Column{
width:parent.width
spacing:10
TextField {
id:textField
implicitHeight: 30
font.bold: true
onFocusChanged: if(focus) { scrollView.scrollToY(y); }
}
ComboBox {
id:comboBox
anchors.topMargin: 10
textRole: "text"
model: libraryModel
onFocusChanged: if(focus) { scrollView.scrollToY(y); }
}
SpinBox {
width: 100
height: 30
editable: true
}
SpinBox {
width: 100
height: 30
editable: true
}
}
}
}
}
Как это можно сделать?