Qt QML更改TextField的样式';s菜单
我想自定义我的应用程序的样式,我被困在Qt QML更改TextField的样式';s菜单,qt,qml,qtquick2,qtquickcontrols,Qt,Qml,Qtquick2,Qtquickcontrols,我想自定义我的应用程序的样式,我被困在TextField弹出菜单的样式上 TextField.style允许自定义TextField的外观,但不包含菜单的样式。据了解,有一个属性menu包含menu,因此我尝试了以下方法: TextField { menu.style: MenuStyle { //... } } 上面的代码抱怨属性style不存在,因此它不完全是菜单,它是用于创建菜单的组件,我不知道是否有办法通过它进入实际的菜单。文档只提到TextField.men
TextField
弹出菜单的样式上
TextField.style
允许自定义TextField
的外观,但不包含菜单的样式。据了解,有一个属性menu
包含menu
,因此我尝试了以下方法:
TextField {
menu.style: MenuStyle {
//...
}
}
上面的代码抱怨属性style
不存在,因此它不完全是菜单
,它是用于创建菜单的组件
,我不知道是否有办法通过它进入实际的菜单
。文档只提到TextField.menu
可以设置为null
以完全禁用它,并且不提供其他用例
那么,有没有办法进入
TextField
的菜单并更改其样式?那么,您应该在这里发布所有相关代码。无论如何,您不能单独定义TextField
菜单及其样式。请参见下面的示例以自定义菜单
样式并将其添加到文本字段
内联:
TextField{
文本:“此处文本”
anchors.centerIn:父对象
菜单:菜单{
风格:MenuStyle{
框架:矩形{
颜色:“绿色”
边框颜色:“紫色”
}
项目代表{
背景:矩形{
颜色:“黄色”
}
标签:文本{
颜色:styleData.selected?“红色”:“蓝色”
text:styleData.text
}
}
}
MenuItem{text:“Cut”}
MenuItem{text:“复制”}
}
}
有关
MenuStyle
属性的完整列表,请参见第页。是否有方法在不重新实现菜单的情况下更改菜单样式?据我所知,在这个解决方案中,我需要为“剪切”、“复制”等提供我自己的操作。我认为这是不可能的<代码>文本字段。菜单是组件
,它没有属性样式
。谢谢@folibis,那么它有什么属性呢TextField.menu.url
将我指向实现默认菜单的文件Qt5.5.0/5.5/gcc\u 64/qml/QtQuick/Controls/Private/EditMenu\u base.qml
。我将它复制到我的项目中,对它做了一些修改,以接受自定义菜单样式,并将其绑定到我的文本字段。它很凌乱,但很有效。是的,看起来这是唯一的方法。@krzysiek:你想在iOS或Android上使用这个菜单吗?因为我没有成功。