双击TabView内的QML Editable Tab标题

时间:2019-11-06 12:54:41

标签: qt tabs qml tabbar tabview

双击TabView后是否可以在TabView中编辑标签的标题?我的意思完全是这样。

enter image description here

我看过Tab,TabView和TabBar文档,但没有发现任何有助于实现上述功能的东西。

1 个答案:

答案 0 :(得分:1)

您可以在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
            }
        }
    ]
}