我有一个QML菜单组件,我希望将它放在每个视图的顶部和每个视图中,并进行同步,这样就可以了解典型网页菜单的外观。我该怎么做呢
import QtQuick 1.0
Row {
width: 500
height: 50
anchors.centerIn: parent
spacing: parent.width/6
Button {
id: loadButton
text: qsTr("Menu")
}
Button {
id: saveButton
text: qsTr("Profile")
}
Button {
id: exitButton
text: qsTr("View Products")
}
}
答案 0 :(得分:6)
阅读“z”属性QDeclarativeItem或QML Item。答案是为菜单组件实例提供最高的z值。
MyMenu
{
z: 100
...
}
Rectangle
{
z: 1
...
}
qml渲染器决定此值首先绘制哪些项目;如果有什么东西覆盖你的菜单,它将在它下面结束。顺便说一下,默认的z值是0,所以它们都是相同的,它或多或少是未定义的,它的呈现顺序。
祝你好运!
答案 1 :(得分:1)
使用QML,所有内容都需要以容器结束,以便将所有内容与之对齐。在这种情况下,如果您尝试在菜单/行中构建一堆按钮,那么您需要始终位于每个类似于页面的容器的顶部。
IE,将上述内容全部放在名为“Menu.qml”的文件中。然后在你希望菜单出现的每个地方你的程序中,制作一个封闭的矩形(或其他)并将菜单固定在顶部:
Rectangle {
Menu { id: menu; anchor.top: parent.top; anchor.left: parent.left; }
// put other stuff here
Rectangle { anchor.top: menu.bottom; }
}
如果你为每一个出现的物体都这样做那么你就好了!
另一个例子,在PageStack中,让每个页面都包含在顶部。