Вы можете встраивать что угодно в любой другой элемент в QML. Используя states
, можно позволить TabButton вести себя в разных состояниях (дух), в этом случае в состоянии "editing"
, когда некоторые части отображаются только в этом состоянии, а другие скрыты.
Вам следуетпоместите следующее в некоторый qml
import QtQuick 2.0
import QtQuick.Controls 2.3
TabButton {
id: btn
onDoubleClicked: state = "editing"
TextField {
id: editor
anchors.fill: parent
text: btn.text
visible: false
onAccepted: {
btn.text = text
btn.state = ""
}
}
states: [
State {
name: "editing"
PropertyChanges {
target: editor
focus: true
visible: true
}
PropertyChanges {
target: btn
explicit: true
restoreEntryValues: false
text: "" //so the text won't show up during editing
}
}
]
}