double-click TabView 中的 QML 可编辑选项卡标题
QML Editable Tab title within TabView on double-click
是否可以在double-click之后实现在TabView中编辑标签标题的可能性?我的意思如下。
我查看了 Tab、TabView 和 TabBar 文档,但没有找到任何有助于实现上述功能的内容。
您可以在 QML 中的任何其他项中嵌入任何内容。通过使用 states
,可以让 TabButton 在不同的状态下运行(duh),在本例中为 "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
}
}
]
}
是否可以在double-click之后实现在TabView中编辑标签标题的可能性?我的意思如下。
我查看了 Tab、TabView 和 TabBar 文档,但没有找到任何有助于实现上述功能的内容。
您可以在 QML 中的任何其他项中嵌入任何内容。通过使用 states
,可以让 TabButton 在不同的状态下运行(duh),在本例中为 "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
}
}
]
}