Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt QML:选项卡中的锚定_Qt_Qml_Qt Quick - Fatal编程技术网

Qt QML:选项卡中的锚定

Qt QML:选项卡中的锚定,qt,qml,qt-quick,Qt,Qml,Qt Quick,我正在尝试使用QML创建一个简单的GUI,这时发生了以下情况: 可以使用ApplicationWindow下的定位对齐文本项 在选项卡中复制截取的相同代码(我刚刚更改了id)会导致错误:ReferenceError:textC未定义。这导致textC被置于textB之上(另请参见图片) QML代码: import QtQuick 2.3 import QtQuick.Controls 1.2 import QtQuick.Dialogs 1.2 import QtQuick.Layouts

我正在尝试使用QML创建一个简单的GUI,这时发生了以下情况:

  • 可以使用ApplicationWindow下的定位对齐文本项

  • 在选项卡中复制截取的相同代码(我刚刚更改了id)会导致错误:ReferenceError:textC未定义。这导致textC被置于textB之上(另请参见图片)

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
            }
        }
    }
}
图片:

据我所知,锚应该可以工作,因为textC和textD生活在同一个父节点下

我是否遗漏了什么,或者这是QML中不允许的


提前谢谢

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

Tab
派生自
Loader
,因此可能只有一个嵌套元素。尝试将两个
文本
对象放入布局中。