主题文本控件在QML应用程序中不起作用

时间:2014-08-09 09:52:58

标签: qt qml qt-quick

我有一个简单的应用程序,使用以下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"
    }
}

然而,这不起作用,重构版本中的文本没有样式,并且矩形不会出现。我错过了什么?

1 个答案:

答案 0 :(得分:1)

Problem reason自定义组件Label的类型名称与您文件中Label语句可用的import QtQuick.Controls控件发生冲突。

Solution将自定义qml类型的名称更改为其他名称。例如:MyLabel

那就是它。