QML:选项卡内的锚点



当发生以下情况时,我正试图用QML创建一个简单的GUI:

  • 文本项可以使用ApplicationWindow 下的锚点对齐

  • 在Tab中复制剪切的相同代码(我刚刚更改了id)会导致一个错误:ReferenceError:textC未定义。这导致文本C被放置在文本B的顶部(另请参阅图片)

QML代码:

import QtQuick 2.3
import QtQuick.Controls 1.2
import QtQuick.Dialogs 1.2
import QtQuick.Layouts 1.1
ApplicationWindow {
    id: applicationWindow1
    visible: true
    width: 640
    height: 480
    title: qsTr("MyApp")
    Text{
        id: textA
        text: qsTr("Test A")
    }
    Text{
        id: textB
        text: qsTr("Test B")
        anchors.left: textA.right //aligns textB nicely against textA
    }
    TabView{
        anchors.top: textB.bottom //also alignts TabView nicely against textB
        Tab{
            title: qsTr("TEST")
            Text{
                id: textC
                text: qsTr("Test C")
            }
            Text{
                id: textD
                text: qsTr("Test D")
                anchors.left: textC.right //nope... this doesn't work even though
                                          //textC lives under the same parent
            }
        }
    }
}

图片:http://s2.postimg.org/hzvyntxfd/info.png

据我所知,锚应该工作,因为textC和textD生活在同一个父级下。

是我遗漏了什么,还是QML中不允许这样做?

提前感谢!

正如cmannett85所指出的,Tab只能包含一个元素。用布局(或矩形)封装两个文本项就可以了!

相关内容

  • 没有找到相关文章

最新更新