我有一个简单的应用程序,使用以下QML
ApplicationWindow {
visible: true
width: 640
height: 480
Column {
Text {
text: "Hello World"
color: "red"
font.pixelSize: 24
}
Rectangle {
width: parent.width
height: 1
color: "black"
}
}
}
我想将文本和矩形打包成一个控件以供重用。所以我创建了一个名为Label.qml
的QML文档,其中包含以下内容
Item {
property alias text: text.text
Column {
Text {
id: text
color: "red"
font.pixelSize: 24
}
Rectangle {
width: parent.width
height: 1
color: "black"
}
}
}
按以下方式重构应用程序,
ApplicationWindow {
visible: true
width: 640
height: 480
Label {
text: "Hello World"
}
}
然而,这不起作用,重构版本中的文本没有样式,并且矩形不会出现。我错过了什么?
答案 0 :(得分:1)
Problem reason
自定义组件Label
的类型名称与您文件中Label
语句可用的import QtQuick.Controls
控件发生冲突。
Solution
将自定义qml类型的名称更改为其他名称。例如:MyLabel
那就是它。