我有一个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")
}
}
Run Code Online (Sandbox Code Playgroud)
阅读"z"属性QDeclarativeItem或QML Item.答案是为菜单组件实例提供最高的z值.
MyMenu
{
z: 100
...
}
Rectangle
{
z: 1
...
}
Run Code Online (Sandbox Code Playgroud)
qml渲染器决定此值首先绘制哪些项目; 如果有什么东西覆盖你的菜单,它将在它下面结束.顺便说一句,默认的z值是0,所以它们都是相同的,并且它或多或少是未定义的,它的呈现顺序.
祝好运!
对于 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; }
}
Run Code Online (Sandbox Code Playgroud)
如果您对将出现的每个对象都执行此操作,那么您就可以开始了!
作为另一个示例,在 PageStack 中,使每个页面都包含在顶部。
| 归档时间: |
|
| 查看次数: |
11541 次 |
| 最近记录: |