在 QML 的 MenuBar 中插入文本
Posted
技术标签:
【中文标题】在 QML 的 MenuBar 中插入文本【英文标题】:Inserting text in the MenuBar of QML 【发布时间】:2020-12-24 19:27:16 【问题描述】:这些菜单默认显示在左侧。我想在菜单开始出现之前在左侧放置一些文本。
如何将菜单向右推以便为菜单栏中的文本创建空间?
我想要以下内容:
“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
【问题讨论】:
除了将您的特殊文本添加为背景的一部分,您可以将其添加为另一个禁用的菜单项,因此无法选择它吗? 请说明如何做到这一点。 @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"
【讨论】:
以上是关于在 QML 的 MenuBar 中插入文本的主要内容,如果未能解决你的问题,请参考以下文章