如何在其他 QML 文件中设置"文本"QML 组件的文本属性?



这是我的盒子.qml
我想将此框用作自定义的QML组件。

 import QtQuick 2.5
      Rectangle{
            id: sample
            width: 100
            height: 35
            border.color: "Black"
            color: "#778899"
            Text{
                font.pointSize: 10
                font.bold: true
                anchors.centerIn: parent
           }
      }

这是我的主角

 import QtQuick 2.5
 import QtQuick.Window 2.2
 Window {
   visible: true
   width: 640
   height: 480
   title: qsTr("Repeater")
   Box{
       text: "Number"
   }
}

但这不起作用我正在以下错误

qrc:/main.qml:11 Cannot assign to non-existent property "text"

您必须通过property揭露该属性。

box.qml

import QtQuick 2.5
Rectangle{
    property string mytext
    id: sample
    width: 100
    height: 35
    border.color: "Black"
    color: "#778899"
    Text {
        font.pointSize: 10
        font.bold: true
        anchors.centerIn: parent
        text: mytext
    }
}

main.qml

import QtQuick 2.5
import QtQuick.Window 2.2
Window {
   visible: true
   width: 640
   height: 480
   title: qsTr("Repeater")
   Box{
       mytext: "Number"
   }
}

或使用alias

box.qml

import QtQuick 2.5
Rectangle{
    property alias text: txt.text
    id: sample
    width: 100
    height: 35
    border.color: "Black"
    color: "#778899"
    Text {
        id: txt
        font.pointSize: 10
        font.bold: true
        anchors.centerIn: parent
    }
}

main.qml

import QtQuick 2.5
import QtQuick.Window 2.2
Window {
   visible: true
   width: 640
   height: 480
   title: qsTr("Repeater")
   Box{
       text: "Number"
   }
}

相关内容

  • 没有找到相关文章

最新更新