如何使工具提示在中继器中的开关和网格中的标签上工作?

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

我正在为 KDE Plasma 6 开发等离子体团 我无法让 ToolTipArea 在中继器中的网格中的开关和标签上正常工作(位置在 modelData 中定义)

目标是 ToolTipArea 覆盖整个区域(此处为红色)

图像在网格中显示工具提示

当我生成 Switch/Label 时,ToolTipArea 覆盖其区域(仍为红色): 图像在网格 2 中显示工具提示

目前 ToolTipArea 可以工作,但我有这个错误:

QML ToolTipArea: Detected anchors on an item that is managed by a layout. This is undefined behavior; use Layout.alignment instead. 

我知道是“anchors.fill:parent”导致了问题,但我不知道如何使 ToolTipArea 覆盖整个区域

我尽可能简化了代码:


PlasmoidItem {
    id: root


    fullRepresentation: GridLayout {
        id: grid
        anchors.fill: parent


        Repeater {
            id: switchRepeater
            model: root.switches
            delegate:

            RowLayout {
                id: switchR

                width: grid.width / grid.columns
                height: grid.height

                Layout.column: modelData.columnIndex
                Layout.row: modelData.rowIndex


                PlasmaComponents3.Switch {
                    id: switchItem
                    checked: modelData.checked
                }

                PlasmaComponents3.Label {
                    id: switchLabel
                    text: modelData.name

                }

                PlasmaCore.ToolTipArea {
                    id: toolTipFullArea
                    Layout.fillHeight: true
                    Layout.fillWidth: true
                    anchors.fill: parent
                    active: modelData.tooltipFullEnabled
                    mainText: "Titre"
                    subText: "description"
                }
            }
        }
    }
}
qml tooltip kde-plasma plasmoid
1个回答
0
投票

怎么样?我认为问题在于 RowLayout 想要控制,这是一个冲突,但是有一种方法可以提示布局。

enter image description here

QT 文档:Qt 快速布局概述

© www.soinside.com 2019 - 2024. All rights reserved.