双击TabView中的QML可编辑标签标题

问题描述 投票:0回答:1

双击标签后,是否有可能在TabView中编辑标签的标题?我的意思完全如下。

enter image description here

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

qt tabs qml tabbar tabview
1个回答
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
            }
        }
    ]
}
© www.soinside.com 2019 - 2024. All rights reserved.