2

我想自定义我的应用程序的样式,但我被困在TextField弹出菜单的样式上。

TextField.style允许自定义外观,TextField但不包含菜单的样式。根据文档,有一个menu包含的属性,Menu所以我尝试了这样的事情:

TextField {
   menu.style: MenuStyle {
       //...
   }
}

上面的代码抱怨属性style不存在,所以它不完全是Menu,它Component用于创建菜单,我不知道是否有办法通过它到达实际的Menu. 文档只提到TextField.menu可以设置为null完全禁用它,并且不提供其他用例。

那么有没有办法进入菜单TextField并改变它的风格呢?

4

1 回答 1

1

好吧,您应该在此处发布所有相关代码。无论如何,您不能TextField单独定义菜单及其样式。请参阅下面的示例以自定义Menu样式并将其添加到TextField内联:

TextField {
    text: "text here"
    anchors.centerIn: parent
    menu: Menu {
        style: MenuStyle {
            frame: Rectangle {
                color: "green"
                border.color: "purple"
            }
            itemDelegate {
                background: Rectangle {
                    color: "yellow"
                }
                label: Text {
                    color: styleData.selected ? "red" : "blue"
                    text: styleData.text
                }
            }
        }
        MenuItem { text: "Cut" }
        MenuItem { text: "Copy" }
    }
}

请参阅页面以获取完整的MenuStyle属性列表。

于 2015-07-21T00:52:53.163 回答