These menus by default appear on the left side. I want to place some text on the left side before the menu starts appearing.
How to push the menus to right in order to create space for the text in the menubar?
That text “AmplifyRemote” is appearing before the menu starts. How to achieve that here?
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 } } } }
Advertisement
Answer
It’s possible there are prettier solutions, but it can work by adding a special Menu item to the front of your list that is disabled.
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" } }