QML QQuickText:无法锚定到不是父项或兄弟项目的项目
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QML QQuickText:无法锚定到不是父项或兄弟项目的项目相关的知识,希望对你有一定的参考价值。
当我在我的TumblerColumn
中使用Tumbler
时,我得到QML QQuickText: Cannot anchor to an item that isn't a parent or sibling
,当我单独使用Tumbler
时,错误不会出现。我无法弄清楚TumblerColumn
有什么问题。
这是我的Dialog
代码
import QtQuick 2.9
import QtQuick.Controls 2.2
import QtQuick.Dialogs 1.2
import QtQuick.Extras 1.2
Dialog {
id: customTimerInputDialog
title: "Custom timer"
height: 150
width: 300
standardButtons: StandardButton.Ok | StandardButton.Cancel
onAccepted: {
}
onRejected: {
console.log("Rejected")
}
Column {
anchors.fill: parent
Text {
text: "Timer"
height: 40
}
Tumbler {
id: tumbler
TumblerColumn {
model: 10
}
TumblerColumn {
model: 60
}
}
}
}
TumblerColumn(TumblerStyle.qml)complete source code
...
// line 294
property Component delegate: Item {
implicitHeight: (control.height - padding.top - padding.bottom) / tumblerStyle.visibleItemCount
Text {
id: label
text: styleData.value
color: "#666666"
opacity: 0.4 + Math.max(0, 1 - Math.abs(styleData.displacement)) * 0.6
font.pixelSize: Math.round(TextSingleton.font.pixelSize * 1.25)
anchors.centerIn: parent
}
}
...
UPDATE
我和Popup QML Type有同样的错误
Popup {
id: popup
x: 100
y: 100
width: 200
height: 300
modal: true
focus: true
closePolicy: Popup.CloseOnEscape | Popup.CloseOnPressOutsideParent
Tumbler {
id: intervalPicker
TumblerColumn {
model: 10
}
TumblerColumn {
model: 60
}
}
}
你正在混合Qt Quick Controls 1和2.在你的Dialog / Popup中导入QtQuick.Controls 2.2
和QtQuick.Extras 1.2
。这两个导入都定义了Tumbler
,但Qt Quick Extras中的导入与Qt Quick Controls 1一起使用(参见TumblerStyle.qml中的导入)。
如果你想使用TumblerColumn和TumblerStyle,你必须使用Qt Quick Extras 1.2中的Tumbler。
如果您想使用Qt Quick Controls 2中的Tumbler,您不能使用Qt Quick Extras 1.2中的任何翻转设备。
如果您需要在qml文件中导入Qt Quick Extras 1.2和Qt Quick Controls 2,则需要使用as
限定符:
import QtQuick.Extras 1.2 as Extra
import QtQuick.Controls 2.2 as Controls2
...
Extra.Tumbler
{
...
}
Controls2.Tumbler
{
...
}
...
以上是关于QML QQuickText:无法锚定到不是父项或兄弟项目的项目的主要内容,如果未能解决你的问题,请参考以下文章