ExclusiveGroup作为属性将无效

时间:2015-07-28 06:18:41

标签: qt qml qt5 qtquick2

我有一个自定义Footer Component,其RowLayoutButton可以在this answer方法后添加到其中Button s。

现在我希望Button可以检查,但一次只能检查一个ExclusiveGroup。所以我定义了Footer添加了内部 Button Button此作品。一次只能检查其中一个ExclusiveGroup

要将外部按钮添加到同一Window { visible: true Footer { Button { text: "extern 1" checkable: true exclusiveGroup: parent.radioInputGroup } Button { text: "extern 2" checkable: true exclusiveGroup: parent.exclusiveGroup } } } ,我添加了一个公开它的属性。但是没有工作。我收到了这个错误:

  

qrc:/main.qml:13:20:无法将[undefined]分配给QQuickExclusiveGroup *
  qrc:/main.qml:19:20:无法将[undefined]分配给QQuickExclusiveGroup *

这是代码:

main.qml

Rectangle {
    color: "gold"
    height: 50

    default property alias content: rowLayout.children

    anchors {
        bottom: parent.bottom
        left: parent.left
        right: parent.right
    }

    RowLayout {
        id: rowLayout
        anchors.fill: parent
        anchors.margins: 10
        property var exclusiveGroup: radioInputGroup

        ExclusiveGroup {
            id: radioInputGroup
        }
        Button {
            id: button
            text: "intern 1"
            checkable: true
            exclusiveGroup: radioInputGroup
        }

        Button {
            text: "intern 2"
            checkable: true
            exclusiveGroup: radioInputGroup
        }
    }
}

Footer.qml

String input = "Le jour précédent/VB";
MaxentTagger tagger = new MaxentTagger("french.tagger");
List<List<HasWord>> sentences = MaxentTagger.tokenizeText(newStringReader(input));
for (List<HasWord> sentence : sentences) {
    List<TaggedWord> tSentence = tagger.tagSentence(sentence);
}

我怎样才能让它发挥作用?

1 个答案:

答案 0 :(得分:1)

Button文字extern 1外,似乎对我有用。您必须将exclusiveGroupparent.radioInputGroup更改为parent.exclusiveGroup