#javascript #qt #qml
#javascript #qt #qml
Вопрос:
Эти меню по умолчанию отображаются с левой стороны. Я хочу поместить некоторый текст в левой части, прежде чем начнет появляться меню.
Как сдвинуть меню вправо, чтобы освободить место для текста в строке меню?
Этот текст «AmplifyRemote» появляется перед запуском меню. Как добиться этого здесь?
ApplicationWindow
{
id: window; visible: true; width: Screen.width; height: Screen.height; flags: Qt.FramelessWindowHint
menuBar:
MenuBar
{
id: menuBar
Menu { title: qsTr("File") }
Menu { title: qsTr("Edit") }
Menu { title: qsTr("View") }
Menu { title: qsTr("Help") }
delegate: MenuBarItem {
id: menuBarItem
font
{
pointSize: decoration.font_size_8
family: decoration.font_family
}
contentItem: Text {
text: menuBarItem.text
font: menuBarItem.font
opacity: enabled ? 1.0 : 0.3
color: menuBarItem.highlighted ? "white":"#3F3F3F"
horizontalAlignment: Text.AlignLeft
verticalAlignment: Text.AlignVCenter
elide: Text.ElideRight
}
background: Rectangle {
implicitWidth: 40
implicitHeight: 40
opacity: enabled ? 1 : 0.3
color: menuBarItem.highlighted ? "#292a38" : "transparent"
}
}
background: Rectangle {
implicitWidth: 40
implicitHeight: 11
color: "#d2d2d2"
// This is the text I want before menus start
Text{ text:"jjjjjjjjj"; anchors.left: parent.left}
Rectangle {
color: "#21be2b"
width: parent.width
height: 1
anchors.bottom: parent.bottom
}
}
}
}
Комментарии:
1. Вместо того, чтобы добавлять свой специальный текст как часть фона, не могли бы вы добавить его в качестве другого пункта меню, который отключен, поэтому его нельзя выбрать?
2. Пожалуйста, покажите, как это можно сделать. @jarman
Ответ №1:
Возможно, есть более привлекательные решения, но это может сработать, если добавить специальный пункт меню в начало вашего списка, который отключен.
MenuBar {
id: menuBar
Menu { title: "jjjjjjjj" }
Menu { title: qsTr("File") }
Menu { title: qsTr("Edit") }
Menu { title: qsTr("View") }
Menu { title: qsTr("Help") }
delegate: MenuBarItem {
id: menuBarItem
enabled: text !== "jjjjjjjj"
}
}